Я использую Postgres как хранилище данных. Мне нужно делать бесплатный текстовый поиск по многим полям. Мой администратор баз данных рекомендует не использовать Postgres для свободного поиска текста. Теперь я рассматриваю поиск elastics. Вопрос заключается в том, что делать, если пользователь фильтрует как бесплатный текст, так и некоторый структурированный размер. Должен ли я запрашивать как эластичные, так и постгревы и пересекать их, или я могу обслуживать все запросы из резины? Что делать, если в фильтре нет свободного текста - эластично подходит для моего общего запроса?Должен ли я использовать elasticsearch для поиска без текста?
EDIT: в соответствии с запросом дополнительной информации. база данных будет содержать несколько миллионов строк. Я не могу дать конкретные данные о данных, кроме того, что строка будет содержать ~ 30 столбцов, половина из них - строки, между одним словом и несколькими предложениями. Причины использования эластичных материалов - это не просто отказ администраторов баз данных от полного текстового индекса в postgres, но и эластичность также дает ранжирование результатов и определенную семантику текстового поиска.
Извините - это слишком расплывчато. * Почему * не являются подходящими для PostgreSQL fts или триграммными индексами? Маловероятно, что запуск одного запроса по двум отдельным системам будет очень забавным, но без хотя бы некоторых подсказок о типах запросов, номерах и размере базы данных никто не может много помочь. –
Если вам нужны функции запроса, доступные только для поиска эластичности, то вы уже приняли решение. Хотя длина документа с одним словом до нескольких предложений не похожа на типичную рабочую нагрузку на текстовый поиск. –