如果发现某些文档不包含排序条件中使用的字段,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/