栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用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"       ]     }   } ]          }        }      ]    }  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399525.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号