根据受欢迎程度自动完成

时间:2009-05-16 17:22:30

标签: autocomplete

对于一般的自动填充建议(按字典顺序排序的键),可以使用try或TST。但是,我想根据结果的受欢迎程度进行自动完成以返回结果。因此,寻找“克林顿”将按顺序显示“比尔克林顿”,“希拉里克林顿”和“切尔西克林顿”。我相信这可以在Lucene中使用ngram方法完成。有没有其他方法可以做到这一点?

在类似的说明中,后端返回stackoverflow上标签自动完成的结果列表是什么?它是以lucene为基础的吗?

1 个答案:

答案 0 :(得分:0)

取决于

  1. 您的搜索空间有多大
  2. 如果您想要纠错
  3. 搜索空间的恒定性
  4. 需要按用户自定义
  5. 多语言?
  6. 对于内存情况,您可以使用Trie来存储叶子的命中数。

    这里要解决的另一个重要问题是如何预测不完整的多个单词。例如亚伯拉罕=>林肯或托马斯(用户之父)。语料库更好的N-Grams,Google或Class VI History Book?

    这取决于具体情况。命中计数可能是当前应用程序或全局命中。例如当一个新单词变得流行时,你会遇到冷启动问题,但是它还没有获得可靠的命中来冒泡到列表顶部

    开始讨论的想法...... 感谢