elasticsearch elasticsearch嵌套多\u字段未分析未工作
我有一个问题已经有好几个小时了,我就是没有得到解决 我需要做一个facets搜索,以获得所有视频播放列表的列表 一个视频可以有多个播放列表,每个列表包含“名称”、“位置”。这就是为什么它是嵌套的 以下是我的映射:
elasticsearch elasticsearch嵌套多\u字段未分析未工作,
elasticsearch,nested,mapping,facets,
elasticsearch,Nested,Mapping,Facets,我有一个问题已经有好几个小时了,我就是没有得到解决 我需要做一个facets搜索,以获得所有视频播放列表的列表 一个视频可以有多个播放列表,每个列表包含“名称”、“位置”。这就是为什么它是嵌套的 以下是我的映射: { "mappings" : { "test" : { "properties" : { "playlists": { "type": "nested", "p
{
"mappings" : {
"test" : {
"properties" : {
"playlists": {
"type": "nested",
"properties" : {
"name" : {
"type": "multi_field",
"fields" : {
"name": {"type" : "string", "index" : "analyzed", "store": "yes"},
"untouched" : {"type" : "string", "index" : "not_analyzed"}
}
},
"position" : {
"type" : "string"
}
}
}
}
}
}
}
问题是名称中包含“-”时的名称。例如,具有以下方面搜索的“de classic”:
{
"query": {
"match_all": {}
},
"facets": {
"playlists": {
"terms": {
"field": "playlists.name",
"size": 1000
}
}
}
}
我的facet搜索返回一个“de”条目和一个“classic”:
我在这里放了一个简单的要点:
Elasticsearch v1.1.1
编辑:
此外,插入后的映射看起来与我创建的映射不同:
curl localhost:9200/videos/test/_mapping?pretty=true:
{
"videos" : {
"mappings" : {
"test" : {
"properties" : {
"playlists" : {
"properties" : {
"name" : {
"type" : "string"
},
"position" : {
"type" : "string"
}
}
}
}
}
}
}
}
解决了我的问题:
{
"query": {
"match_all": {}
},
"facets": {
"playlists": {
"terms": {
"field": "playlists.name",
"size": 1000
},
"nested": "playlists" // <- that's what I was missing!
}
}
}
{
“查询”:{
“全部匹配”:{}
},
“方面”:{
“播放列表”:{
“条款”:{
“字段”:“playlists.name”,
“尺寸”:1000
},
“嵌套”:“播放列表”//
{
"query": {
"match_all": {}
},
"facets": {
"playlists": {
"terms": {
"field": "playlists.name",
"size": 1000
},
"nested": "playlists" // <- that's what I was missing!
}
}
}