使用ElasticSearch对匹配查询进行排序

时间:2013-06-24 16:14:03

标签: sorting elasticsearch

我正在尝试使用ElasticSearch查找包含特定字符串的所有记录。我正在使用匹配查询,它工作正常。

现在,我正在尝试根据特定字段对结果进行排序。当我尝试这个时,我得到一些非常意外的输出,并且没有一个记录甚至包含我的初始搜索查询。

我的请求结构如下:

{
"query": 
{
    "match": {"_all": "some_search_string"}
 },
 "sort": [
 {
    "some_field": {
        "order": "asc"
        }
 }
 ] }

我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

为了对字符串字段进行排序,您的映射必须包含此字段的未分析版本。 Here's a simple blog post I found,其中介绍了如何使用the multi_field mapping type执行此操作。