Это надуманный пример, чтобы проиллюстрировать мою проблему. У меня есть куча имен файлов, которые я хотел бы отсортировать по алфавиту так же, как macOS может делать это в окне поиска.
Это мои проиндексированные имена файлов в том порядке, в котором я ожидаю увидеть их отсортированными:
A Tribe Called Quest - Can I Kick It (1).mp3
a.png
Bcc 05.png
Birling Gap Cliffs.jpg
Durdle Door.jpg
f.png
Frost.jpg
p.png
Users order.mp4
z.png
И это то, что я делаю в инструментах разработки Kibana для тестирования:
## sorting contrived example
# create the index with keyword filename for sorting
PUT /file-names
{
"settings": {
"number_of_shards": 1
},
"mappings": {
"_doc" : {
"properties": {
"filename": { "type": "keyword" }
}
}
}
}
# create bunch of documents
POST file-names/_doc/_bulk
{ "index":{} }
{ "filename":"A Tribe Called Quest - Can I Kick It (1).mp3" }
{ "index":{} }
{ "filename":"a.png" }
{ "index":{} }
{ "filename":"Bcc 05.png" }
{ "index":{} }
{ "filename":"Birling Gap Cliffs.jpg" }
{ "index":{} }
{ "filename":"Durdle Door.jpg" }
{ "index":{} }
{ "filename":"Frost.jpg" }
{ "index":{} }
{ "filename":"f.png" }
{ "index":{} }
{ "filename":"Users order.mp4" }
{ "index":{} }
{ "filename":"p.png" }
{ "index":{} }
{ "filename":"z.png" }
# query with sort - bugged
GET /file-names/_search
{
"sort": {
"filename": {
"order": "asc"
}
}
}
Результаты, которые я получаю:
"hits" : [
{
"_index" : "file-names",..."_score" : null,
"_source" : {
"filename" : "A Tribe Called Quest - Can I Kick It (1).mp3"
},
"sort" : [
"A Tribe Called Quest - Can I Kick It (1).mp3"
]
},
{
...
"_source" : {
"filename" : "Bcc 05.png"
},
"sort" : [
"Bcc 05.png"
]
},
{
...
"_source" : {
"filename" : "Birling Gap Cliffs.jpg"
},
"sort" : [
"Birling Gap Cliffs.jpg"
]
},
{
...
"_source" : {
"filename" : "Durdle Door.jpg"
},
"sort" : [
"Durdle Door.jpg"
]
},
{
...
"_source" : {
"filename" : "Frost.jpg"
},
"sort" : [
"Frost.jpg"
]
},
{
...
"_source" : {
"filename" : "Users order.mp4"
},
"sort" : [
"Users order.mp4"
]
},
{
...
"_source" : {
"filename" : "a.png"
},
"sort" : [
"a.png"
]
},
{
...
"_source" : {
"filename" : "f.png"
},
"sort" : [
"f.png"
]
},
{
...
"_source" : {
"filename" : "p.png"
},
"sort" : [
"p.png"
]
},
{
...
"_source" : {
"filename" : "z.png"
},
"sort" : [
"z.png"
]
}
]
Которые не в том порядке, в котором я ожидал. Вы можете видеть, что a.png находится ниже Users order.mp4 по причинам, которые я не могу понять.
Любая помощь приветствуется, чтобы сортировка работала в том порядке, в котором я ожидаю!