在PostgreSQL中进行全文搜索时过滤不必要的单词

时间:2015-01-20 18:44:41

标签: postgresql full-text-search

我已根据此wonderfull article在postgreSQL中创建了全文搜索。

足够好,但事情应该修复。

说我在我的数据库中有文字帖子: “所有小猫都去天堂”

如果用户搜索“所有小猫都去天堂,可能会......”数据库将不会返回任何内容,因为找不到可能的字词。

我可以发布我的SQL查询,但它与文章中描述的几乎相同。 有没有办法显示找到的搜索词最多的文章?

1 个答案:

答案 0 :(得分:2)

这是PostgreSQL的文本搜索的基本问题。

您可以尝试预先解析查询,并删除"语料库中的任何术语。所有文件的条款,但这并没有真正解决你的问题。

您可以尝试将查询更改为'或'所有条款,但这可能会有性能问题。

最好的选择是尝试smlar扩展(由文本搜索作者编写),它可以使用余弦/ tfidf加权。这意味着查询可以包含文档中不存在且仍然匹配的术语。