lucene建索引的几个问题

1.如何将几个路径下的索引合并到一个统一的路径下并且将原来的索引清除?
2.在搜索的时候term是完全匹配吗?比如我搜索“好”,这个term必须是“好”才能搜索吗?
3.现在搜索的时候要搜“铅笔”,我希望可以搜索与铅笔完全匹配的document,也要搜到与铅,和笔分别匹配的,但是“铅笔”的排在前面,这个用目前的什么分词器可以做到?排序如何实现?
4.对于同一个field里的内容,可以用不同的分词器分析两次吗?同样parsequery的时候可以parse多次吗?

3个回答

搜索的时候也要对用户输入进行分词,且用的分词器应该和索引的时候一样,所以你只输入“铅”是不会把铅笔搜出来的
一般都中文分词器都不会把固定的词组分开的,像"铅笔"、"中国"都不会拆分的。有需要你可以自己实现一个分词
模糊搜索用的是FuzzyQuery,我没用过,我想应该对效率会用影响的

1。IndexWriter的addIndexes方法可以将一个索引目录merge到另一个索引目录里,至于删除多余的索引你可以将它的openMode设置为 OpenMode.CREATE,下次创建的后就覆盖了
2。是否完全匹配要看分词器
3。IK分词器可以,lucene自带简单的排序实现
4。这个要自己写了[url]http://www.oschina.net/question/189949_28936[/url],例子可以自己去google

采纳我的答案吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问