当前位置:  开发笔记 > 编程语言 > 正文

如何让Lucene匹配查询中的所有单词?

如何解决《如何让Lucene匹配查询中的所有单词?》经验,为你挑选了1个好方法。

我使用Lucene允许用户搜索大量文档中的单词.Lucene似乎默认返回包含输入的任何单词的所有文档.

是否有可能改变这种行为?我知道'+'可以用来强制包含一个术语,但我想把它作为默认动作.

理想情况下,我希望功能类似于谷歌:' - '排除单词,'abc xyz'排除单词.

为了澄清 我还想到在查询中的所有空格中插入'+'.我只是想避免检测分组的术语(括号,引号等)并可能破坏查询.还有另一种方法吗?



1> Adam Paynter..:

这类似于Lucene句子搜索问题.如果你有兴趣,这就是我回答这个问题的方法:

String defaultField = ...;
Analyzer analyzer = ...;
QueryParser queryParser = new QueryParser(defaultField, analyzer);

queryParser.setDefaultOperator(QueryParser.Operator.AND);

Query query = queryParser.parse("Searching is fun");

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有