为了账号安全,请及时绑定邮箱和手机立即绑定

请教lucene 联合查询的问题

请教lucene 联合查询的问题

慕虎7371278 2018-12-06 23:24:17
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联合查询条件怎么组合,谢谢!
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

有问题,百度一下

查看完整回答
反对 回复 2019-01-21
?
长风秋雁

TA贡献1757条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-01-21
  • 2 回答
  • 0 关注
  • 406 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信