【发布时间】:2019-02-22 14:50:29
【问题描述】:
我在 ElasticSearch(客户)中有一个索引,它具有以下部分映射:
"addresses": {
"type": "nested",
"properties": {
"address": {
"type": "keyword"
},
"phone": {
"type": "keyword"
}
}
},
我正在尝试搜索特定地址(我们称之为“foo street”)。我正在使用 ElasticSearch 6.3。和 RestHighLevelClient(6.3)。
在我的例子中,以下变量具有以下值:
docName = "addresses"
name = "address"
value = "foo street"
我知道我的客户索引中至少有一个文档的地址是“foo street”
我创建 NestedQueryBuilder 的代码是这样的:
QueryBuilder innerQuery = QueryBuilders.matchQuery(name, value);
NestedQueryBuilder nestedQueryBuilder = QueryBuilders.nestedQuery(
docName, innerQuery, ScoreNode.None);
SearchRequest request = new SearcRequest("customers");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(nestedQueryBuilder);
searchSourceBuilder.from(from);
searchSourceBuilder.size(size);
request.source(searchSourceBuilder);
如果我记录我的 NestedQueryBuilder 对象(调用 toString(),这就是我得到的:
{
"nested" : {
"query" : {
"match" : {
"ip_address" : {
"query" : "10.214.159.193",
"operator" : "OR",
"prefix_length" : 0,
"max_expansions" : 50,
"fuzzy_transpositions" : true,
"lenient" : false,
"zero_terms_query" : "NONE",
"auto_generate_synonyms_phrase_query" : true,
"boost" : 1.0
}
}
},
"path" : "links",
"ignore_unmapped" : false,
"score_mode" : "none",
"boost" : 1.0
}
}
为什么我没有得到任何点击?
以下是SearchResponse中的值:
Status: OK
Took: 0s
terminatedEarly: null
timedOut: false
total hits: 0
maxScore: NaN
【问题讨论】:
标签: java elasticsearch nested