【发布时间】:2021-03-15 12:20:23
【问题描述】:
我正在使用 spring-data-elasticsearch。我使用具有许多子标准的标准构建了大多数查询条件。现在我想为嵌套字段包含一个简单的查询条件。但是使用uery_string API 的标准corms 查询不适用于嵌套字段。我期待Nested query。
如何在没有 NativeSearchQuery 的情况下使用 Criteria 来支持这一点?
嵌套映射
{
"ae": {
"type": "nested",
"properties": {
"atb": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"su": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
我想查询“ae.su.keyword”字段。使用此字段构建 criteriaQuery 使用此字段构造 query_string 查询,它不会按预期返回正确的文档作为响应。我的期望是,有没有办法使用标准构建嵌套查询?还是覆盖现有条件查询?
Criteria criteria = new Criteria("ae.su.keyword").is("VALUE");
CriteriaQuery query = new CriteriaQuery(criteria);
elasticOperations.search(query, Foo.class, index);
【问题讨论】:
-
您能否提供一个最小示例来重现此内容(实体、CriteriaQuery 以及您希望发送到 Elasticsearch 的查询)?
-
感谢添加映射。但是您能否提供一个示例来重现这一点 - 特别是您如何构建查询和实体定义。