Elasticsearch:查询未执行

时间:2014-08-31 21:14:09

标签: elasticsearch

这是我的弹性搜索的映射

{"MYAPP":{"mappings":{            
            "XX":{
                "_ttl":{"enabled":true},
                "properties":{"propX":{"type":"integer"}}
             },
            "YY":{
                "_ttl":{"enabled":true},
                "properties":{"propY":{"type":"integer"}}
             },
          }
    }
}

我想要执行查询     propX:XYZ AND propY:ABC

问题是如果我这样做

propX:XYZ AND propY:ABC

它什么都不返回,但是这个

propX:XYZ

返回结果。我认为问题是propXpropY是两个不同的区域,这就是为什么使用两者都不返回。

这是我的JAVA代码:

SearchResponse response = client.prepareSearch("MYAPP")
.setQuery(QueryBuilders.queryString("propX:XYZ AND propY:ABC")).execute()
    .actionGet();   

1 个答案:

答案 0 :(得分:1)

根据您的映射,propXpropY位于不同的映射类型中。

假设您遵循索引映射。每种映射类型都有自己的文档,换句话说,类型XX内的所有文档只有propX字段。并且YY类型中的所有文档都只有propY字段。

所以没有文件,同时有两个字段,这就是你找不到任何文件的原因。