小编mor*_*ark的帖子

Elasticsearch:按字母顺序排序西班牙语双重名称

我正在进行Elasticsearch查询,我希望按姓氏的字母顺序排序结果.我的问题:姓氏都是西班牙语的双重名称,而ES并没有按照我希望的方式对它们进行排序.我希望订单是:

Batres Rivera
Batrín Chojoj
Fion Morales
Lopez Giron
Martinez Castellanos
Milán Casanova
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "Last Name": {
        "order": "asc"
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我得到的顺序是:

Batres Rivera
Batrín Chojoj
Milán Casanova
Martinez Castellanos
Fion Morales
Lopez Giron
Run Code Online (Sandbox Code Playgroud)

所以它不是按第一个字符串排序,而是由两者中的任何一个排序(Batres,Batrín,Casanova,Castellanos,Fion,Giron).
如果我再试一次

{
    "order": "asc",
    "mode": "max"
}
Run Code Online (Sandbox Code Playgroud)

然后我得到:

Batrín Chojoj
Lopez Giron
Martinez Castellanos
Milán Casanova
Fion Morales
Batres Rivera
Run Code Online (Sandbox Code Playgroud)

默认为所有字段编制索引,我查看了

curl -XGET localhost/my_index/_mapping 
Run Code Online (Sandbox Code Playgroud)

然后我回来了

my_index: {
    my_type: {
        properties: {
            FirstName: {
                type: …
Run Code Online (Sandbox Code Playgroud)

sorting alphabetical elasticsearch

4
推荐指数
1
解决办法
1240
查看次数

标签 统计

alphabetical ×1

elasticsearch ×1

sorting ×1