【发布时间】:2021-07-21 20:15:35
【问题描述】:
使用通配符,我可以匹配以某个值开头的词:
{
"query": {
"query_string" : {
"query" : "subject:cell*"
}
}
}
这里的subject 字段是keyword 字段(未分析)。这很好用,但我不知道如何找到以“蜂窝控制”开头的术语。尝试双引号并没有产生预期的结果:
{
"query": {
"query_string" : {
"query" : "subject:\"cellular contr*\""
}
}
}
注意:短语搜索适用于完全匹配,但不适用于通配符。我的猜测是星号不会被解释为双引号内的通配符运算符。那是对的吗?还有没有其他方法可以在短语中使用通配符运算符?
注意:我必须使用Query String Query,因为查询来自用户输入。
(我知道我可以使用正则表达式,但我不想这样做)
【问题讨论】:
标签: elasticsearch