我正在使用最新的 c# 彈性搜索 NEST 庫。我正在嘗試使用精確的文本匹配進(jìn)行搜索,但目前它正在搜索子集匹配。我想做完全匹配。以下是我的代碼片段:public User GetUserByUsername(string username) { var client = new ElasticConnectionManager(this.configuration).GetClient(Constant.IndexUsers); var searchResponse = client.Search<User>(s => s .Query(q => q .Bool(bq => bq .Filter(f => f.Term(t => t.Username, username)) .Must(mt=>mt.Term(t2=> t2.Username, username))))); //.Must(bs => bs.Term(t => t.Username, username)) if (searchResponse.Documents.Count > 0) return searchResponse.Documents.First(); else return null; }}
1 回答

白豬掌柜的
TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
嘗試使用 match_phrase 查詢進(jìn)行精確的文本匹配。您的查詢應(yīng)類似于以下內(nèi)容:
var searchResponse = client.Search<User>(s => s .Query(q => q .MatchPhrase(m => m .Field(f => f.Username) .Query(username))));
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報(bào)
0/150
提交
取消