Lucene版本是2.92,中文分詞使用的是盤古分詞V2.3.1.0版。
現(xiàn)在碰到的問題是:使用關(guān)鍵詞查詢產(chǎn)品標(biāo)題或內(nèi)容,并使用價格區(qū)間進(jìn)行過濾。查詢到的結(jié)果是價格區(qū)間對了關(guān)鍵詞查出來的并不是我要的關(guān)鍵詞而是所有這個價格區(qū)間的產(chǎn)品。源碼如下:
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);
?
請大家指點(diǎn)下Lucene聯(lián)合查詢條件怎么組合,謝謝!
- 2 回答
- 0 關(guān)注
- 475 瀏覽
添加回答
舉報
0/150
提交
取消