全文搜索(Postgres)与弹性搜索 [英] Full text search(Postgres) Vs Elastic search
本文介绍了全文搜索(Postgres)与弹性搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
阅读Query
在Posgres中,全文索引允许对文档进行预处理,并保存索引以供以后快速搜索。预处理包括:正在将文档分析为令牌。
将标记转换为词位。
存储针对搜索进行优化的预处理文档。
tsvector
类型在Postgres中用于全文搜索
tsvector
类型与text
类型在以下方面不同:
消除大小写。大写/小写字母相同
删除停止字词(and,or,not,he,him和数百个其他字词)-因为这些字词与文本搜索无关
替换同义词并采用词干(
elephant
->eleph
)。在全文目录中,没有elephant
,而是elep
。可以(也应该)使用GIST和GIN进行索引
自定义加权排名&;
ts_rank
在Postgres中,弹性搜索(搜索引擎)与全文搜索相比有何优势?
推荐答案
全文搜索和ElasticSearch都基于相同的基本技术倒排索引,因此性能将大致相同。
FTS将更易于部署。
ES随Lucene一起提供
如果您需要带FTS的Lucene,则需要额外的工作。
这篇关于全文搜索(Postgres)与弹性搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文