我有一个查询(如下所示),它返回弹性搜索的匹配记录。但是返回的数据没有单独的最后一个字段(位置字段)。仅供参考,该字段已编制索引并已映射。我怎么会得到?我尝试在_source中添加它但是无法获取那条记录
{
_source: ['details.*','position']
query: {
bool: {
should: [
{ "regexp": { "name": pattern } },
{
"fuzzy": {
"name": {
"value": keywords,
"fuzziness": 3
}
}
}
],
"minimum_should_match": 1
}
},
"from": skip,
"size": size
},
以下是我的映射:
User.createMapping({
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "edge_ngram",
"min_gram": 1,
"max_gram": 1000,
"token_chars": [
"letter",
"digit",
"whitespace"
]
}
}
}
},
"mappings": {
"user": {
"properties": {
"details": {
"properties": {
"title": {
"type": "text"
},
'keywords': {
"type": "text"
},
'category': {
"type": "text"
}
}
},
"name": {
"type": "text"
},
"position": {
"type": "integer"
}
}
}
}
}, function (err, mapping) {
//handle errors
});