sorting - 找不到字段的映射以便在 ElasticSearch 中排序

标签 sorting mapping elasticsearch

如果发现某些文档不包含排序条件中使用的字段,Elasticsearch 在解析查询时抛出 SearchParseException

SearchParseException: Parse Failure [No mapping found for [price] in order to sort on]

即使有些文档缺少 price 字段,我如何才能成功搜索这些文档?

最佳答案

在深入挖掘之后,我找到了下面给出的解决方案。 ignore_unmapped 应该在排序子句中显式设置为 true

"sort" : [
       { "rating": {"order" : "desc" , "ignore_unmapped" : true} },
       { "price": {"order" : "asc" , "missing" : "_last" , "ignore_unmapped" : true} }
]

有关更多信息,请查看 Elasticsearch 引用:

关于sorting - 找不到字段的映射以便在 ElasticSearch 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17051709/

相关文章:

c - C中使用指针对数组进行升序排序

sorting - CouchDB 在同一 View 中排序和过滤

r - 如何按照用户定义的顺序(例如非字母顺序)对数据框进行排序

java - 如何使用 DozerBeanMapper 将具有对象数组列表的 HashMap(列表是 HashMap 中的值)映射到另一个 HashMap?

postgresql - plpgsql 循环查询和更新

url - 如何区分grails网址映射

Grails:TypeMismatchException - 提供了错误类型的 id - 预期:类 java.lang.Integer,得到类 java.lang.Long

unit-testing - 如何知道添加新数据后 Elasticsearch 何时准备好进行查询?

elasticsearch - Kibana 将@timestamp 字段显示为可读格式

elasticsearch - X-pack 未能初始化 TrustManagerFactory