Spring Data Elasticsearch - 查询的根级别是否支持 Inner Hit?
Spring Data Elasticsearch - Is Inner Hit supported at root level on query?
我正在尝试使用 ElasticsearchOperations 编写如下查询:
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "dialogLines",
"query": {
"match_phrase": {
"dialogLines.text": {
"query": "No problem"
}
}
}
}
}
]
}
},
"collapse": {
"field": "movieId",
"inner_hits" : {
"name": "by_movie",
"collapse" : {"field" : "boundaryGroup"},
"sort": [{ "boundaryStartInMillis": "desc" }],
"size": 6
}
}
}
我知道NestedQuery
支持innerHit(InnerHitBuilder innerHitBuilder)
,但是NativeSearchQuery
类型的根级查询没有那个方法。
有没有办法使用 ElasticsearchOperations 编写此查询?
我的版本是org.springframework.data:spring-data-elasticsearch:3.2.9.RELEASE
运行 弹性搜索 v6.8.2
当您使用 NativeSearchQuery
创建查询时,您通常使用
Query query = new NativeSearchQueryBuilder()
.withQuery(queryBuilder)
.build();
queryBuilder
参数是 org.elasticsearch.index.query.QueryBuilder
的任何实现,因此您可以使用任何您喜欢的 Elasticsearch 查询构建器。
编辑 29.09.2020:
NativeSsearchQuery
支持使用 NativeSearchQueryBuilder.withCollapseField(String)
方法折叠字段。但是还没有支持崩溃场的内部命中。
我创建了 https://jira.spring.io/browse/DATAES-939 来解决这个问题。
我正在尝试使用 ElasticsearchOperations 编写如下查询:
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "dialogLines",
"query": {
"match_phrase": {
"dialogLines.text": {
"query": "No problem"
}
}
}
}
}
]
}
},
"collapse": {
"field": "movieId",
"inner_hits" : {
"name": "by_movie",
"collapse" : {"field" : "boundaryGroup"},
"sort": [{ "boundaryStartInMillis": "desc" }],
"size": 6
}
}
}
我知道NestedQuery
支持innerHit(InnerHitBuilder innerHitBuilder)
,但是NativeSearchQuery
类型的根级查询没有那个方法。
有没有办法使用 ElasticsearchOperations 编写此查询?
我的版本是org.springframework.data:spring-data-elasticsearch:3.2.9.RELEASE
运行 弹性搜索 v6.8.2
当您使用 NativeSearchQuery
创建查询时,您通常使用
Query query = new NativeSearchQueryBuilder()
.withQuery(queryBuilder)
.build();
queryBuilder
参数是 org.elasticsearch.index.query.QueryBuilder
的任何实现,因此您可以使用任何您喜欢的 Elasticsearch 查询构建器。
编辑 29.09.2020:
NativeSsearchQuery
支持使用 NativeSearchQueryBuilder.withCollapseField(String)
方法折叠字段。但是还没有支持崩溃场的内部命中。
我创建了 https://jira.spring.io/browse/DATAES-939 来解决这个问题。