亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Lucene.Net多條件作‘and’和'or'查詢

Lucene.Net多條件作‘and’和'or'查詢

ABOUTYOU 2018-12-06 16:13:55
利用Lucene.net實現站內搜索功能,用輸入的關鍵字去匹配已生成索引文件中字段獲得的結果是符合要求的,但當有選擇某一個種類型時,卻把所有這種類型的數據都搜出來了,關鍵字似乎已經不起作用了,求大蝦幫忙解決下。 “and”、“or”條件查詢的主要代碼如下: BooleanQuery bq = new BooleanQuery(); QueryParser cnParser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "GameCnName", analyzer); Query cnQuery = cnParser.Parse(keyword); bq.Add(cnQuery, BooleanClause.Occur.SHOULD);//游戲中文名 QueryParser enQueryParser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "GameEnName", analyzer); Query enQuery = enQueryParser.Parse(keyword); bq.Add(enQuery, BooleanClause.Occur.SHOULD); //游戲英文名 QueryParser companyQueryParser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "CompanyName", analyzer); Query companyQuery = companyQueryParser.Parse(keyword); bq.Add(companyQuery, BooleanClause.Occur.SHOULD); //游戲公司名 if (queryDictionary.ContainsKey("GamePlatform")) { Query pfQuery = new TermQuery(new Term("GamePlatform", queryDictionary["GamePlatform"])); bq.Add(pfQuery, BooleanClause.Occur.MUST); //游戲平臺 } if (queryDictionary.ContainsKey("NavCategory")) { Query navQuery = new TermQuery(new Term("NavCategory", queryDictionary["NavCategory"])); bq.Add(navQuery, BooleanClause.Occur.MUST); //游戲產地 } if (queryDictionary.ContainsKey("GameEngine")) { Query engQuery = new TermQuery(new Term("GameEngine", queryDictionary["GameEngine"])); bq.Add(engQuery, BooleanClause.Occur.MUST); //游戲畫面 }
查看完整描述

3 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

Must 和 Should 在一起 是取得Must結果的倒排序結果 如果文檔包含Should的結果,則增加打分。

Must和Must在一起取交集。

Should和Should一起取并集。

查看完整回答
反對 回復 2019-01-21
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

這是全部代碼嗎?

查看完整回答
反對 回復 2019-01-21
  • 3 回答
  • 0 關注
  • 656 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號