使用上Elasticsearch的C#NEST API:Elasticsearch NEST API - 查詢右手食指
var searchResults = client.Search<Product>(s => s
.Index(Constants.ElasticSearchIndex)
.Query(q => q
.Raw(jsonRequest)
)
);
查詢應該在/ sc_all /指數運行,但它運行在/ sc_all /產品/指數(這不存在 -/product /似乎因爲T =產品的搜索而被添加)。
如果我不喜歡這樣,/產品的更換/與常數,即/ sc_all /產品價值/ =>/sc_all/constant_value /:
var searchResults = client.Search<Product>(s => s
.Index(Constants.ElasticSearchIndex)
.Type(Constants.ElasticSearchType)
.Query(q => q
.Raw(jsonRequest)
)
);
我應該怎麼做,如果我只是想要查詢/ sc_all /而沒有別的?
謝謝!
JSON請求:
「{\」 過濾\ 「:{\」 查詢\ 「:{\」 MATCH_ALL \ 「:{}},\」 過濾器\ 「:{\」 嵌套\「:{\」path \「:\」products \「,\」filter \「:{\」nested \「:{\」path \「:\」products.da \「,\」filter \「: {\「bool \」:{\「must \」:[{\「query \」:{\「query_string \」:{\「default_field \」:\「products.da.content \」,\「query \ 「:\」kildemoes \「}}}}}}}}}}}},\」from \「:0,\」size \「:100」
謝謝,但我的Json請求已經包含「match_all」。我已經將它添加到上面的問題中。 – Louisa
@Louisa我認爲你錯過了一點 - 如果你在搜索請求的主體上指定了'.AllTypes()',那麼你將在索引Constants.ElasticSearchIndex中搜索所有類型。我爲'jsonRequest'添加了一個示例值,以便您編譯的代碼。 –
好點。感謝您的澄清。 – Louisa