阅读Query
在Posgres中,全文索引允许对文档进行预处理并保存索引以供以后快速搜索。预处理包括:
将文档解析为令牌。
将令牌转换为词汇。
存储为搜索而优化的预处理文档。
tsvector
类型进行全文搜索
tsvector
类型在以下方面与text
类型不同:
消除案件。大写/小写字母相同
删除停用词(和,或者,不是,她,他和其他数百人) - 因为这些词与文本搜索无关
取代同义词并取词干(elephant
- > eleph
)。在全文目录中,它没有单词elephant
,而是单词elep
。
可以(并且应该)使用GIST和GIN索引
自定义排名与权重& ts_rank
弹性搜索(搜索引擎)如何优于Postgres中的全文搜索?
答案 0 :(得分:7)
全文搜索和弹性搜索都建立在相同的基本技术倒置索引之上,因此性能大致相同。
FTS将更容易部署。
ES附带lucene,
如果你想要使用FTS需要额外的努力。