我想知道是否有任何方法或设置来在elasticsearch中执行字母排序。我有一个字段,我想对它执行降序排序。Elastic按字典顺序执行它。我得到的是:
Company name
Customer name
company address我想得到的是:
Company name
company address
Customer name我发现我可以创建一个自定义分析器,但也许可以有更好的选择?
发布于 2017-06-05 16:11:08
使用multifields将文本字段索引为小写关键字,其中fielddata为true,您可以在其中进行排序。
{
"settings": {
"analysis": {
"analyzer": {
"keyword_lowercase": {
"tokenizer": "keyword",
"filter": ["lowercase"]
}
}
}
},
"mappings": {
"my_type": {
"properties": {
"text": {
"type": "text",
"fields": {
"raw": {
"type": "text",
"analyzer": "keyword_lowercase",
"fielddata": true
}
}
}
}
}
}
}查询
{
"sort": [
{
"text.raw": {
"order": "asc"
}
}
]
}https://stackoverflow.com/questions/44353815
复制相似问题