更新了es数据的索引,查看下是否全部都有新的field.

GET index/_search
{
"query": {
"bool": {
"must_not": {
"exists":{"field":"filedX"}
}
}}
}

如果存在,使用must

有时候搜索多个索引的时候,有的索引 不存在 ,我希望忽略调传入参数中的 不存在 的索引。可以添加如下参数,这样 ES 不会返回错误信息。 SearchRequ es t searchRequ es t = new SearchRequ es t(indic es , searchSourceBuilder); searchRequ es t.indic es Options(Indic es Options.lenientExpandOpen()); //5、missing query:返回没有 字段 或值为null或没有值的文档。 QueryBuilders.missingQuery("accountGuid") //java client标记该方法已经过时,推荐用exist代替 如下 QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("accountGuid"));... 倒排索引是标记和包含term的文档的一个简单列表。假如一个 字段 不存在 ,它就没有任何标记,也就意味着它无法被倒排索引的数据结构表达出来。 本质上来说,null,[](空数组)和 [null] 是相等的。它们都 不存在 于倒排索引中 显然,这个世界却没有那么简单,数据经常会缺失 字段 ,或包含空值或空数组。为了应对这些情形, Elasticsearch 有一些工具来处理空值或缺失的 字段 。 【exists 过滤器】 工具箱中的第一个利器是 exists 过滤器,这个过滤器将返回任何包含这个 字段 的文档,让我们用标签来举例,索 Nativ eS earchQueryBuilder 中有一个 sourceFilter 字段 。image.png查看源码public interface SourceFilter {String[] getInclud es ();String[] getExclud es ();}这是一个接口,需要实现 包含什么 字段 ,和不包含什么 字段 。SearchQuery searchQuery = new Nativ...