我在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 flex 客户端。
提前致谢。
最佳答案
如果要像这样查询part_number.raw
字段,则需要发送exact match查询,即用转义的双引号引起来。
_search?fields=part_number.raw&q=part_number.raw:\"abc-000123\"
^ ^
| |
add double quotes
关于python - 在Elasticsearch中查询多字段以获取精确的字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34872686/