elasticsearch,Postgresql,elasticsearch" /> elasticsearch,Postgresql,elasticsearch" />

Postgresql 我应该使用elasticsearch进行非自由文本搜索吗

Postgresql 我应该使用elasticsearch进行非自由文本搜索吗,postgresql,elasticsearch,Postgresql,elasticsearch,我使用Postgres作为数据仓库。我需要做许多领域的自由文本搜索。我的DBA建议不要使用Postgres进行自由文本搜索。我现在正在考虑弹性搜索。问题是,如果用户同时通过自由文本和一些结构化维度进行过滤,该怎么办。我应该同时询问elastic和postgres并选择交叉点,还是可以为elastic的所有查询提供服务?如果过滤器中没有自由文本,弹性适合我的通用查询吗 编辑:根据要求提供更多信息。数据库将包含几百万行。我不能给出数据的具体细节,除了一行将包含约30列,其中一半是字符串,介于一个单词

我使用Postgres作为数据仓库。我需要做许多领域的自由文本搜索。我的DBA建议不要使用Postgres进行自由文本搜索。我现在正在考虑弹性搜索。问题是,如果用户同时通过自由文本和一些结构化维度进行过滤,该怎么办。我应该同时询问elastic和postgres并选择交叉点,还是可以为elastic的所有查询提供服务?如果过滤器中没有自由文本,弹性适合我的通用查询吗


编辑:根据要求提供更多信息。数据库将包含几百万行。我不能给出数据的具体细节,除了一行将包含约30列,其中一半是字符串,介于一个单词和几个句子之间。使用elastic的原因不仅是DBA反对postgres中的全文索引,而且elastic还提供了结果排名和特定的文本搜索语义。

elasticsearch确实非常适合全文搜索,因为它在封面下使用lucene,但它也非常适合通过搜索引擎进行结构化搜索。另一个你可以用它做的伟大的事情是数据分析,它允许可视化你的数据聚合

也就是说,为了充分利用elasticsearch,您不一定需要全文搜索需求。有很多用例,elasticsearch仅用于我提到的三个方面之一:全文搜索、结构化搜索或数据分析。下一步也是将它们结合在一起

<>您的用例很常见,我建议继续运行结构化查询,而不是查询两个系统。我能预见的唯一障碍是文档关系,需要在elasticsearch中正确表示和处理文档关系


请看一下elasticsearch,它用于表示查询,并有效地将结构化和非结构化搜索结合在一起。

对不起,这太模糊了。为什么PostgreSQL的fts或trigram索引都不合适?在两个独立的系统上运行一个查询不太可能会很有趣,但是如果没有关于查询类型、数字和数据库大小的提示,没有人会说有什么帮助。如果您需要仅在弹性搜索上可用的查询功能,那么您已经做出了决定。不过,一词到几句的文档长度听起来不像是典型的文本搜索工作量。