Elasticsearch查询字符串数组

 棋牌 发布于 2022-12-04 15:42

我知道这有效:

{
"query": {

    "query_string": {
        "query": "reading,debating"
    }

}

它搜索所有出现阅读或辩论的词语.我想知道是否有一种方法,以便我可以插入一个字符串数组而不是逗号分隔的字符串?要看起来像这样:

{
"query": {

    "query_string": {
        "query": ["reading","debating"]
    }

}

hexabunny.. 5

在您的第一个示例中,它是一个QueryString查询,其中elasticsearch内部处理查询理解,默认情况下,逗号是分隔符,这是您的第一个查询的工作方式.

在这种情况下,你可能想要的是由布尔值组合的两个或多个术语查询(如果你想要OR逻辑,则使用"should",如果你想要AND逻辑,则使用"must")查询.

以下是如何通过curl实现的:http: //www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html

如果要在Java中以编程方式使用它,可以使用QueryBuilders构造术语查询和布尔查询

1 个回答
  • 在您的第一个示例中,它是一个QueryString查询,其中elasticsearch内部处理查询理解,默认情况下,逗号是分隔符,这是您的第一个查询的工作方式.

    在这种情况下,你可能想要的是由布尔值组合的两个或多个术语查询(如果你想要OR逻辑,则使用"should",如果你想要AND逻辑,则使用"must")查询.

    以下是如何通过curl实现的:http: //www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html

    如果要在Java中以编程方式使用它,可以使用QueryBuilders构造术语查询和布尔查询

    2022-12-11 02:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有