gpt4 book ai didi

elasticsearch - 具有三个ors(|)的Elasticsearch简单查询字符串不返回任何值

转载 作者:行者123 更新时间:2023-12-02 22:26:52 31 4
gpt4 key购买 nike

我一直在使用简单的查询字符串来查询Elastic内部的信息,但是遇到了一个问题。
当我创建查询时:

"simple_query_string":{
"query":"\"this is a phrase\" | KEYWORD_1 | KEYWORD_2",
"fields":[
"field_1",
"field_2",
"field_3",
],
}
它返回0个结果,同时如果查询是用括号构造的:
"simple_query_string":{
"query":"(\"this is a phrase\" | KEYWORD_1) | KEYWORD_2",
"fields":[
"field_1",
"field_2",
"field_3",
],
}
它工作顺利。
我想知道我是否在Elastic的文档中丢失了某些内容。

最佳答案

正如IanGabes在评论中所说:
根据elasticsearch's documentation:foo bar +baz -qux还支持使用熟悉的 bool(boolean) 运算符AND,OR和NOT(也写为&&,||和!),但要注意它们不遵循通常的优先级规则,因此,每当多个运算符一起使用时,都应使用括号。例如,先前的查询可以重写为:((foo AND baz) OR (bar AND baz) OR baz) AND NOT qux或在简单的查询lenguaje中:((foo + baz) | (bar + baz) | baz) + -qux关于我的例子:"this is a phrase" | KEYWORD_1 | KEYWORD_2可以扩展到("this is a phrase" | KEYWORD_1) | ("this is a phrase" | KEYWORD_2) | (KEYWORD_1 | KEYWORD_2)但是是以一种更简单的方式:("this is a phrase" | KEYWORD_1) | KEYWORD_2

关于elasticsearch - 具有三个ors(|)的Elasticsearch简单查询字符串不返回任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63076614/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com