通过最常用的词自动完成 - postgres 或 lucene?

msi*_*kis 6 lucene postgresql full-text-search autocomplete trigram

我们正在使用 Postgres 及其全文功能在我们的系统中搜索文档(帖子内容),并且效果非常好。

对于自动完成,我们希望使用文档中使用的所有单词构建索引(字典?)并按最常用的单词进行搜索。我们将永远寻找一个词。我们永远不会搜索短语。

所以如果我写:

  • “那个”

我将收到(假设我们文档中最常用的词):

  • “这个”
  • “那里”
  • “想法”
  • ...

如何用 Postgres 做到这一点?或者我们可能需要一些更高级的解决方案,比如 apache lucene / solr ?

postgres 全文搜索(提供词素)和 postgres trigrams 似乎都不适合这项工作。或者也许我错了?

我不想手动解析文本并忽略所有容易出错的英语停用词。Postgres 在构建词法索引时在这方面做得很好。但是除了词素,我们需要建立和搜索没有规范化的词词典

谢谢您的帮助