首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对elasticsearch结果进行排序,以便首先显示带有关键字的结果

对elasticsearch结果进行排序,以便首先显示带有关键字的结果
EN

Stack Overflow用户
提问于 2019-06-24 09:30:49
回答 1查看 32关注 0票数 0

我正在寻找单词"stud“,我期待着这个顺序的结果。

“职业”:“学生”

“职业”:“学生(人文医学)”

职业:“学生(鲍威森)”

“职业”:“学生(化学)”

“职业”:“学生(建筑师)”

“职业”:“Oberstudienrat/Oberstudienr tin”

“职业”:"Nagelstudioinhaber“

,但我得到了这个序列的结果,

“职业”:“学生”

“职业”:“学生(人文医学)”

“职业”:“Oberstudienrat/Oberstudienr tin”

职业:“学生(鲍威森)”

“职业”:“学生(化学)”

“职业”:"Nagelstudioinhaber“

“职业”:“学生(建筑师)”

就像这些单词“Oberstudienrat/Oberstudienr tin”一样,"Nagelstudioinhaber“应该在结尾,因为我首先想看到的结果在开头有"stud”,然后是中间有"stud“的结果。

代码语言:javascript
复制
{  
  "query":{  
  "bool":{  
     "must":[  
        {  
           "query_string":{  
              "query":"*Stud*",
              "fields":[  
                 "occupation"
              ]
           }
        }
     ]
  }
},
"rescore":{  
  "window_size":500,
  "query":{  
     "score_mode":"multiply",
     "rescore_query":{  
        "bool":{  
           "should":[  

              {  
                 "match":{  
                    "occupation":{  
                       "query":"Stud*",
                       "boost":3
                    }
                 }
              }
           ]
        }
     },
     "query_weight":2.7,
     "rescore_query_weight":3.2
  }

}}

EN

回答 1

Stack Overflow用户

发布于 2019-06-25 08:33:15

在这里,如果您的字段被标记化,则很难实现对同一字段的排序。

修改字段以实现排序。该字段应该是原始类型的,或者只应用关键字记号器和小写标记器。不对原始字段进行分析,这意味着它总共将是一个术语,因此它可以用于排序。为了做到这一点,您必须更新您的映射,然后使用reindex api来更新数据。

您的字段将具有如下的映射

代码语言:javascript
复制
PUT my_index
    {
      "mappings": {
        "properties": {
          "city": {
            "type": "text",
            "fields": {
              "raw": { 
                "type":  "keyword"
              }
            }
          }
        }
      }
    }

并使用新字段进行排序。

代码语言:javascript
复制
GET my_index/_search

    {
      "query": {
        "match": {
          "city": "york" 
        }
      },
      "sort": {
        "city.raw": "asc" 
      }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56733649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档