我正在进行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)