关于lucene的分词和查询

shadowlin 2008-05-26
我想问下,如果我把一个中文字符传在索引的时候进行了分词,查询的时候也使用同一个分词器.
如何让查询按照最大匹配度去进行?
比如索引里的字符传是"问题说明越详细",分词分成了"问题","说明","越","详细".
我用"如果问题说明越详细,回答也会越准确!"去查询,希望能查询到这个结果,需要怎么做?
刚接触lucene,还很不熟悉.
jiqiumin 2008-05-27
分词插件,有很多网上搜下
shadowlin 2008-05-27
我已经有分词器了,我的意思是如何用分出来的词去查询,然后查询到一个最匹配的?
jiqiumin 2008-05-28
....lucene出来结果就是相关度排序
bulrush 2008-05-28
先分词,用Queryparser.parser(words) 再sercher这个query就可以,默认就是按匹配度排
edwardpro 2008-05-28
查询时候也要把你输入的先分词的,不然是查不到的
shadowlin 2008-06-02
可能我还是没表达清楚,我的意思是我用来查询的条件可能比索引里的要多...
比如索引里有"abc"我用"abcd"来查询,我希望能把abc也查出来,这样的话怎么做呢?(假如分词以后abc是abc,abcd是abc和d)
shadowlin 2008-06-02
我现在的做法是把输入的查询条件分词以后用booleanQuery去查询.
有没有别的方法?
另外
qp.setDefaultOperator(QueryParser.OR_OPERATOR);
qp.setDefaultOperator(QueryParser.AND_OPERATOR);
这两个是在什么情况下用的?我原来以为是表示把分了的词怎么查询的,但试了下似乎不是啊..
zhjt_88 2008-06-04
关注中,你问题解决了吗
wifivein 2008-06-04
我也是分词以后用BooleanQuery,没觉得有什么不好

qp.setDefaultOperator(QueryParser.OR_OPERATOR);
qp.setDefaultOperator(QueryParser.AND_OPERATOR);
用来设置默认情况下(空格分开)的关键词逻辑,初始是OR

Global site tag (gtag.js) - Google Analytics