【问题标题】:Sorting a match query with ElasticSearch使用 ElasticSearch 对匹配查询进行排序
【发布时间】:2015-12-09 10:28:23
【问题描述】:

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

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

我的请求结构如下:

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

我在这里做错了吗?

【问题讨论】:

  • 你找到解决方案了吗?

标签: sorting elasticsearch


【解决方案1】:

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

【讨论】:

  • 谢谢,但我认为这不是问题所在。如果我搜索特定术语而不是使用匹配查询,则排序工作得很好。例如,如果我尝试:"query": { "term": {"some_field": "some_Search_String"} },排序就成功了。特别是使用带有匹配的排序功能时是否存在一些问题?感谢您的帮助!
  • 提供的链接失效了。
猜你喜欢
  • 2018-09-21
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多