如何使用Lucene.NET构建自动完成/建议?

问题描述:

如何使用Lucene.NET构建自动完成/建议?如何使用Lucene.NET构建自动完成/建议?

+0

你想它采取行动根据以前的查询,搜索索引的完整字典,或者对数据的某些字段进行查找/搜索? – 2010-02-17 15:52:46

创建进入您的应用程序的所有搜索查询的数据库。 (查询日志)

创建具有类似领域

QueryText varchar(x) 
Occurence int 

表然后做一个搜索,其中查询文本与用户正在通过发生递减搜索和顺序启动。

where QueryText LIKE 'some text%' ORDER BY Occurence DESC 
+0

我很想看看为什么人们低估了这个,尽管我想我知道答案...(太慢了?) – 2012-11-27 07:58:54

+0

我不确定我自己,但是这根本不会很慢,因为我们标记了发生了查询,所以而不是100行相同的文本,我们只有1行出现100次。如果需要,可以将它自己存储在SQL或Lucene中。我实际上使用它,它在找到常用搜索短语方面做得很好。 – 2014-04-01 14:24:57

很简单响应在这里,它会让你开始。

作为lucene.net contrib的一部分的SpellChecker项目将为您提供Google的“你的意思是?像功能一样,检查一下。

对于AutoComplete,您可以在文本查询的末尾附加*。所以JA *将返回的Java,千斤顶,简等。同样,* VA将返回的Java,熔岩等(虽然你必须明确地让领导通配符)

希望这有助于