我是想做一个多域查询
比如在所有field中查询“开源 项目”
要求结果既含“开源”又含“项目”
但是“开源” 和“项目” 这两个关键字不一定要出现在同一个field中用MultiFieldQueryPaser发现它是搜索出了所有含“开源”或者“项目”的条目
改变parser.setDefaultOperator(QueryParser.AND_OPERATOR);默认逻辑符为and后
又变成“开源” 和“项目” 这两个关键字必须在同一个字段中
都不符合要求这种需求应该是很常见的吧,不知道别的人是怎么处理的?
比如在所有field中查询“开源 项目”
要求结果既含“开源”又含“项目”
但是“开源” 和“项目” 这两个关键字不一定要出现在同一个field中用MultiFieldQueryPaser发现它是搜索出了所有含“开源”或者“项目”的条目
改变parser.setDefaultOperator(QueryParser.AND_OPERATOR);默认逻辑符为and后
又变成“开源” 和“项目” 这两个关键字必须在同一个字段中
都不符合要求这种需求应该是很常见的吧,不知道别的人是怎么处理的?
解决方案 »
- 不好意思,问下 <result>/{1}.jsp</result> 是什么意思,我没有 1.jsp文件啊 !
- 菜鸟~~ 很简单的一句话!!急急急~~~
- 在jsp中如何实现时间相加后转换为yyyy-mm-dd格式?
- 怎么样利用javaScript显示表单验证提示信息
- 网页总有若干个同名的checkbox,他们的数量不确定,他们他们的唯一区别是值不同,他们提交过来之后,我如何得到他们?
- 大哥们。。。。急啊 用jdbc导出数据库并导入到文本文档中
- 连接数据库?求教
- 登陆-在线用户列表问题(100)
- 郁闷并高兴,有关jstl一个问题.
- 救命呀,要多少分给多少分!!!
- 想抓取一个网站上的页面内容,但是那个网页需要登录才能打开.
- hibernate调oracle10的存储过程,这样做有什么问题么或者隐患么?
强烈鄙视2楼。
你自己看清楚我的问题
我问的是搜索,又不是分词,鄙视你自己吧还是楼上的说的对,目前只能采用构造一个field的方法
lucene布尔查询的逻辑中只有should和must,用这两个是构造不出我希望的逻辑的
if (keys.Length > 1)
{
IList<Query> queryList = new List<Query>(); foreach (string wd in keys)
{
Query query = parser.Parse(wd);
queryList.Add(query);
} foreach (Query query in queryList)
{
// 多个关键词之间是或的关系
bquery.Add(query, BooleanClause.Occur.SHOULD);
} }