【发布时间】:2018-02-03 08:47:45
【问题描述】:
阅读Query
在 Posgres 中,全文索引允许对文档进行预处理并保存索引以供以后快速搜索。预处理包括:
将文档解析为标记。
将标记转换为词位。
存储为搜索优化的预处理文档。
tsvector 类型在 Postgres 中用于全文搜索
tsvector 类型与text 类型在以下方面有所不同:
消除大小写。大小写字母相同
删除停用词(and、or、not、she、him 和数百个其他词)-因为这些词与文本搜索无关
替换同义词并采用词干 (
elephant->eleph)。在全文目录中,没有elephant这个词,而是elep这个词。可以(并且应该)使用 GIST 和 GIN 进行索引
带有权重和
ts_rank的自定义排名
Elastic 搜索(搜索引擎)如何优于 Postgres 中的全文搜索?
【问题讨论】:
标签: postgresql elasticsearch indexing full-text-search object-oriented-database