我在Elasticsearch中有一个带有以下映射的字符串字段
"part_number":{"type":"string"}
由于我想在这个字段上进行精确字符串搜索,我添加了一个额外字段,即not analyzed
{
"properties": {
"part_number": {
"type": "string",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
现在,当我查询part_number.raw字段时,Elasticsearch会返回结果。
_search?fields=part_number.raw&q=part_number:abc-000123
但是如何查询part_number.raw
字段。我想做像
_search?fields=part_number.raw&q=part_number.raw:abc-000123
但是这个查询会返回空命中。
我正在使用python弹性客户端。 提前谢谢。
答案 0 :(得分:0)
如果您要查询part_number.raw
字段,则需要发送exact match查询,即包含转义双引号。
_search?fields=part_number.raw&q=part_number.raw:\"abc-000123\"
^ ^
| |
add double quotes