【发布时间】:2018-07-13 08:32:24
【问题描述】:
我必须用特殊字符搜索一些特定的 query_string,但它会给我所有的结果。
当我分析它时:
GET /exact/_analyze
{
"field": "subject",
"text": "abdominal-scan"
}
输出如下:
{
"tokens": [
{
"token": "abdominal",
"start_offset": 0,
"end_offset": 9,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "scan",
"start_offset": 10,
"end_offset": 14,
"type": "<ALPHANUM>",
"position": 1
}
]
}
这意味着自动跳过连字符 (-) 并将这些单词视为 2 个单词。
如果我将字段的索引更改为 not_analyzed,则我无法在该字段中搜索单个单词,整个句子必须在 query_string 中传递。
是否有任何其他选择,以便我可以得到精确的搜索(不忽略特殊字符)?
【问题讨论】:
标签: elasticsearch special-characters exact-match