基本Lucene初学者q:索引和自动完成

基本Lucene初学者q:索引和自动完成,lucene,lucene.net,Lucene,Lucene.net,我正在使用Lucene.NET,有一个基本问题: 我是否需要为自动完成创建附加索引? 我根据数据库中的两个不同表创建了一个索引 以下是两份文件: stored,indexed,tokenized,termVector<URL:/Service/Zahlungsmethoden/Teilzahlung> stored,indexed,tokenized,termVector<Website:Body:The Text of the first Page> stored,in

我正在使用Lucene.NET,有一个基本问题:

我是否需要为自动完成创建附加索引? 我根据数据库中的两个不同表创建了一个索引

以下是两份文件:

stored,indexed,tokenized,termVector<URL:/Service/Zahlungsmethoden/Teilzahlung>
stored,indexed,tokenized,termVector<Website:Body:The Text of the first Page>
stored,indexed,tokenized,termVector<Website:ID:19>
stored,indexed,tokenized,termVector<Website:Title:Teilzahlung>

stored,indexed,tokenized,termVector<URL:/Service/Kundenservice/Kinderbetreeung>
stored,indexed,tokenized,termVector<Website:Body:The text of the second Page>
stored,indexed,tokenized,termVector<Website:ID:13>
stored,indexed,tokenized,termVector<Website:Title:Kinderbetreuung>
这是正确的吗? 我把这些放在哪里? 在附加索引中

或者,我将如何重新安排索引的现有结构以容纳自动完成建议

谢谢大家!

1)正如femtoRgon上面所说,请看Lucene建议API


2) 这就是说,执行自动建议的一种廉价方法是查找所有以您迄今为止键入的字符串开头的单词,例如“pa”返回“pa”+“pag”+“page”。通配符查询将返回这些结果——在Lucene查询语法中,类似“pa*”的查询。(您可能希望将建议仅限于长度为2+的字符串。)

Mark Leighton Fisher采用了一种便宜的方法,但执行通配符查询只会返回文档,而不会返回单词。最好看看通配符查询的imlpement。您需要使用从IndexReader检索到的Terms对象,并迭代索引中的术语。

查看
p
pa
pag
page