如果对一个string field进行排序,结果往往不准确,因为分词后是多个单词,再排序就不是我们想要的结果了。
貌似会采用分词后的term的第一个term进行排序。
通常解决方案是,将一个string field建立两次索引,一个分词,用来进行搜索;一个不分词,用来进行排序
PUT /website
{
"mappings": {
"article": {
"properties": {
"title": {
"type": "text", ###用来采用默认的standard进行分词
"fields": {
"raw": { ## raw 进行sort时的名字简称
"type": "string",
"index": "not_analyzed" ##不进行分析器 不分词 供sort使用
}
},
"fielddata": true ##设置fileddata为true
},
"content": {
"type": "text"
},
"post_date": {
"type": "date"
},
"author_id": {
"type": "long"
}
}
}
}
}