我从ES 5.4获得不同的标题时遇到问题。它只返回单个不同的单词而不是整个标题。我创建了原始多字段,就像在question中建议的一样。我已经将解决方案从那里调整到current mapping changes但是由于我收到错误它不能正常工作:
“默认情况下,在文本字段上禁用Fielddata。在[title.raw]上设置fielddata = true,以便通过反转索引来加载内存中的fielddata。但是,这可以使用大量内存。或者使用改为使用关键字字段。“
字段映射:
"title":{
"type":"text",
"fields":{
"keyword":{"type":"keyword","ignore_above":256},
"raw":{"type":"text","index":false},
"sort":{"type":"text","fielddata":true}}}
使用查询汇总术语:
{
"aggs": {
"title.raw" : {
"terms" : {
"field" : "title.raw",
"size" : 30,
"min_doc_count" : 1,
"shard_min_doc_count" : 0,
"show_term_doc_count_error" : false,
"order" : [
{
"_count" : "desc"
},
{
"_term" : "asc"
}
]
}
}
据我所知,我不能将 fielddata true 与 index false 一起使用。应该如何看待我的映射能够获得完整的不同标题升序排序?