我正在尝试对关键字字段执行术语查询,但没有收到任何结果。如果我删除关键字,查询将返回预期结果。
GET myindex/_search
{
"query": {
"term": {
"creatorId.keyword": "c29dae46-23bd-4349-b989-f6bb803b1dd8"
}
}
}
这是该特定字段的索引映射下显示的映射:
"creatorId": {
"type": "keyword"
}
我想知道为什么会发生这种情况以及如何使关键字在这里起作用。
您已经定义了您的字段是关键字类型。这样您就不需要在查询中明确说明。就用纯场吧。 如果字段像这样映射,您只需使用 .keyword 即可:
"mappings": {
"properties": {
"creatorId": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}