首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ElasticSearch的查询字符串语法中,单引号和双引号有什么区别?

在ElasticSearch的查询字符串语法中,单引号和双引号有什么区别?
EN

Stack Overflow用户
提问于 2016-06-02 22:44:09
回答 1查看 3.5K关注 0票数 2

在ElasticSearch的查询字符串语法中,单引号和双引号有什么区别?为了防止术语错误,在引用查询字符串语法时,我指的是查找选项卡上kibana的搜索字段所使用的语法。

我有一个python_type字段的索引,它是一个未分析的字符串。

1) python_type: typeA找到预期的文档

2) python_type: "typeA"还找到了预期的文档

( 3) python_type: 'typeA'一无所获。

为什么第三个查询字符串不返回结果?查询字符串如何解释单引号?有趣的是,在分析字段时,所有三个查询字符串都返回预期的结果。

谢谢,

内森

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-03 04:30:36

Kibana输入字段不需要JSON数据,但是您在输入字段中键入的内容必须遵循 query syntax

正如您在该文档中所看到的,在任何地方都没有单引号,即它不是查询语法的保留字符。

当查询python_type:'typeA'时,Kibana发送给ES的query_string查询如下所示:

代码语言:javascript
复制
{
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "python_type:'typeA'",
          "analyze_wildcard": true
        }
      }
    }
  }
}

这并不是错误的,但是ES将检查包含python_field的带有单引号的'typeA'文档。

然而,当查询python_type:"typeA"python_type:typeA时,ES将检查是否有一个具有确切术语typeApython_field的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37603310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档