全文搜索(Postgres)与弹性搜索

过度交换

阅读查询

在Posgres中,全文索引允许对文档进行预处理,并保存索引以供以后快速搜索。预处理包括:

  • 将文档解析为令牌。

  • 将令牌转换为词素。

  • 存储经过优化以进行搜索的预处理文档。


tsvector 类型在Postgres中用于全文搜索

tsvector类型与text以下方面的类型不同

  • 消除情况。大写/小写字母相同

  • 删除停用词(以及她,他和其他数百人,也可能不是),因为这些词与文本搜索无关

  • 替换同义词并使用词干(elephant-> eleph)。在全文目录中,它没有单词,elephant而是单词elep

  • 可以(也应该)用GIST和GIN编制索引

  • 自定义排名与权重& ts_rank


在Postgres中,弹性搜索(搜索引擎)如何比全文搜索具有优势?

全文搜索和Elasticsearch都基于相同的基本技术倒排索引,因此性能将大致相同。

FTS将更易于部署。

ES附带有lucene,

如果您想通过FTS使用Lucene,则需要额外的努力。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章