2013-04-04 39 views
5

Tôi đang sử dụng các tài liệu sau để sắp xếp tài liệu trong Elasticsearch có thuộc tính 'usernamesAssigned'. usernamesAssigned là một chuỗi các chuỗi:Sắp xếp trên một chuỗi các chuỗi trong ElasticSearch

"sort": [ 
    { 
     "_script": { 
      "script": "doc["usernamesAssigned"].values.sort().join()", 
      "type": "string", 
      "lang": "js", 
      "order": "asc" 
     } 
    } 
] 

Tôi tự hỏi liệu có cách nào hiệu quả hơn để làm điều này mà không sử dụng phân loại dựa trên tập lệnh không?

Trả lời

3

Đây là một câu hỏi cũ, nhưng gần đây tôi lang thang qua nó trong khi cố gắng để giải quyết cùng một vấn đề ...

Theo documentation:

Elasticsearch hỗ trợ sắp xếp theo mảng hoặc đa giá trị lĩnh vực. Tùy chọn chế độ kiểm soát giá trị mảng nào được chọn để phân loại tài liệu thuộc về.

Vì vậy, bạn sẽ có thể sắp xếp như thế này:

"sort" : [ {"usernamesAssigned" : {"order" : "asc", "mode" : "min"}} ]

này đã có sẵn từ phiên bản 0.90.0.Beta1.

Các vấn đề liên quan