【发布时间】:2017-06-16 22:04:12
【问题描述】:
我正在使用 Elasticsearch 2.4.3 并希望提升查询中的特定字段。这可能吗?我只知道如何提升索引。
您好!
更新
映射:
"firstName":{"type":"string",
"analyzer":"customNGram"
},
"lastName":{
"type":"string",
"analyzer":"customNGram"
},
"note":{
"type":"string",
"analyzer":"customNGram"
}
查询(Java API):
QueryBuilder qb = new BoolQueryBuilder()
.must(QueryBuilders.matchQuery("_all", term)
.analyzer("atsCustomSearchAnalyzer")
.operator(Operator.AND));
SearchRequestBuilder searchRequestBuilder = elasticsearchClient.prepareSearch("persons", "activities").setTypes("person", "activity")
.setQuery(qb)
.addHighlightedField("*").setHighlighterRequireFieldMatch(false)
.setHighlighterOrder("score")
.setHighlighterFragmentSize(150)
.setHighlighterForceSource(true)
.setSize(100)
.addIndexBoost("persons", 200)
.setFrom(offset);
return searchRequestBuilder.execute().get();
【问题讨论】:
-
您能向我们展示您迄今为止尝试过的映射和查询吗?
-
根据您的要求更新了我的问题
标签: elasticsearch field boosting