我無法從Elasticsearch.NET API獲取正確的elasticsearch查詢字符串。這是我想生成的查詢:使用Elasticsearch.NET重新創建elasticsearch過濾查詢
我用來獲取如下{
"size": 5000,
"sort": [
{
"id": {
"order": "desc"
}
}
],
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"match_all": {}
},
{
"term": {
"stateType": {
"value": 2
}
}
}
]
}
},
"filter": {
"or": [
{
"term": {
"concealed": true
}
},
{
"term": {
"govt": true
}
}
]
}
}
}
}
的C#代碼:
FilterContainer filterContainer = new FilterContainer();
filterContainer &= Filter<ElasticsearchLoad>.Or(f => f.Term("concealed", true));
filterContainer &= Filter<ElasticsearchLoad>.Or(f => f.Term("govt", true));
QueryContainer container = new MatchAllQuery();
container &= Query<ElasticsearchLoad>.Filtered(fq => Query<ElasticsearchLoad>.Term(l => l.StateType, 2));
SearchDescriptor<ElasticsearchLoad> searchDescriptor = new SearchDescriptor<ElasticsearchLoad>();
searchDescriptor.Query(container).Filter(filterContainer);
searchDescriptor.Size(5000);
var searchResponse = Client.Search<ElasticsearchMyDoc>(s => searchDescriptor);
正如你所看到的,我沒有收到「查詢」 :{「filtered」:{...}}語法被生成,並且,對於我而言,我無法弄清楚如何。有人可以幫助我確定實現此目標所需的C#語法嗎?
謝謝!
這正是我一直在尋找的。謝謝!感謝您幫助我更好地理解Elasticsearch.NET API! –