我正在尝试使用ElasticSearch查找包含特定字符串的所有记录。我正在使用匹配查询,它工作正常。
现在,我正在尝试根据特定字段对结果进行排序。当我尝试这个时,我得到一些非常意外的输出,并且没有一个记录甚至包含我的初始搜索查询。
我的请求结构如下:
{
"query":
{
"match": {"_all": "some_search_string"}
},
"sort": [
{
"some_field": {
"order": "asc"
}
}
] }
我在这里做错了吗?
答案 0 :(得分:1)
为了对字符串字段进行排序,您的映射必须包含此字段的未分析版本。 Here's a simple blog post I found,其中介绍了如何使用the multi_field mapping type执行此操作。