首页 新闻 会员 周边 捐助

请教lucene 联合查询的问题

2
悬赏园豆:60 [已解决问题] 解决于 2010-11-23 11:23

Lucene版本是2.92,中文分词使用的是盘古分词V2.3.1.0版。

现在碰到的问题是:使用关键词查询产品标题或内容,并使用价格区间进行过滤。查询到的结果是价格区间对了关键词查出来的并不是我要的关键词而是所有这个价格区间的产品。源码如下:

string keywords = q;
IndexSearcher search
= new IndexSearcher(indexDir);
q
= GetKeyWordsSplitBySpace(q, new ProductsIndex.ProductTokenizer());
QueryParser queryParser
= new QueryParser("contents", new ProductAnalyzer(true));
Query query
= queryParser.Parse(q);

QueryParser titleQueryParser
= new QueryParser("title", new ProductAnalyzer(true));
Query titleQuery
= titleQueryParser.Parse(q);

Query priceQuery
= NumericRangeQuery.NewDoubleRange("price", 10.0, 100.0, true, true);
BooleanQuery bq
= new BooleanQuery();
bq.Add(query, BooleanClause.Occur.SHOULD);
bq.Add(titleQuery, BooleanClause.Occur.SHOULD);
bq.Add(priceQuery, BooleanClause.Occur.MUST);
Hits hits
= search.Search(bq);

 

请大家指点下Lucene联合查询条件怎么组合,谢谢!

老齐编程的主页 老齐编程 | 初学一级 | 园豆:137
提问于:2010-11-16 16:42
< >
分享
最佳答案
0

有问题,百度一下

收获园豆:60
MR.豆耐特 | 菜鸟二级 |园豆:256 | 2010-11-23 11:15
没人回答,分只能给你了
老齐编程 | 园豆:137 (初学一级) | 2010-11-23 11:17
其他回答(1)
0

SHOULD与MUST表示MUST,SHOULD失去意义;

zhujinhu | 园豆:29 (初学一级) | 2010-12-03 10:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册