为什么这不能正常工作?
{
"query_string": {
"fields": ["text"],
"query": "for*t drink",
"type": "phrase"
}
}
我想让它返回至少包含这两个单词的文档,它们之间没有空格,并且顺序相同,看起来它完全忽略了短语类型,如果我传递DEFAULT_OPERATOR:“AND”,它有点工作,但我仍然有空格和顺序的问题。能做到这一点吗?如果我的文本Map如下所示,另一个问题是:
文本属性:
"text": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
},
"analyzer": "my_text_analyzer"
},
分析器:
"my_text_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"filter": [
"lowercase",
"asciifolding"
]
}
是否可以发出返回准确数据的请求,使其在请求时区分大小写,而在需要时不区分大小写?
2条答案
按热度按时间uqzxnwby1#
您使用的分析器在空格上拆分标记,而短语查询不可能给出匹配多个单词(如
foo bar
或for*t drink
)的结果。可以用
text
代替text.keyword
查询吗?ekqde3dh2#
如果我的查询如下图所示,我不希望它显示任何内容
如果查询像下面这样,我想要这4个帖子