如何使用ElasticSeach(C# NEST)搜索多个索引?

如何使用ElasticSeach(C# NEST)搜索多个索引?,第1张

如何使用ElasticSeach(C#/ NEST)搜索多个索引

由于不建议使用indexs查询,因此它目前仍可以使用,但不推荐使用该警告是可能在将来的主要版本中将其删除。

您可以通过以下方式实现与索引查询相同的功能:

var esIndex = "index-1";var esIndex2 = "index-2";var qField ="query-field";var qTerm = "query-term";var nmqField = "no-match-query-field";var nmqTerm = "no-match-query-term";client.Search<Immo>(s => s    .AllIndices()    .Query(q => (q        .Term(t => t .Field(qField) .Value(qTerm)        ) && +q        .Terms(t => t .Field("_index") .Terms(new[] { esIndex, esIndex2 })        )) || (q        .Term(t => t .Field(nmqField) .Value(nmqTerm)        ) && !q        .Terms(t => t .Field("_index") .Terms(new[] { esIndex, esIndex2 })        ))    ));

产生以下查询JSON

POST http://localhost:9200/_all/immo/_search{  "query": {    "bool": {      "should": [        {          "bool": { "must": [   {     "term": {       "query-field": {         "value": "query-term"       }     }   } ], "filter": [   {     "terms": {       "_index": [         "index-1",         "index-2"       ]     }   } ]          }        },        {          "bool": { "must": [   {     "term": {       "no-match-query-field": {         "value": "no-match-query-term"       }     }   } ], "must_not": [   {     "terms": {       "_index": [         "index-1",         "index-2"       ]     }   } ]          }        }      ]    }  }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5007930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存