当前位置: 首页 > 知识库问答 >
问题:

在Elasticsearch中查询“like”和“or”

易衡
2023-03-14

我正在使用elasticsearch从json文件中过滤和搜索,我是这项技术的新手。所以我有点困惑如何在ElasticSearch中编写查询。

select * from table_name where 'field_name1' like 'a%' or 'field_name2' like 'a%'

这是oracle查询。如何在ElasticSearch中编写此查询?我使用的是elasticsearch版本6.8.13

共有1个答案

濮宇定
2023-03-14

您需要在Bool查询中组合使用Elasticsearch通配符查询。
如果您是新手,Elasticsearch Bool查询上下文中的应该与SQL语言中的相当。

{
    "query": {
        "bool": {
            "should": [
                {
                    "wildcard": {
                        "field_name1": {
                            "value": "a*"
                        }
                    }
                },
                {
                    "wildcard": {
                        "field_name2": {
                            "value": "a*"
                        }
                    }
                }
            ]
        }
    }
}

 类似资料:
  • 问题内容: 我想写一个类似的查询,但它不返回任何东西: -它不起作用。 完美地工作。 这是我的代码: 问题答案: Spring数据JPA查询需要“%”字符以及查询中的空格字符,如 。 cf. http://docs.spring.io/spring- data/jpa/docs/current/reference/html 。 您可能希望完全摆脱注释,因为它看起来类似于标准查询(由spring数据

  • 问题内容: 我在PDO中实施LIKE时遇到问题 我有这个查询: 我检查了,并且它们都包含我要搜索的单词,由于我的某些查询 有效,因此我的PDO正常工作,只是我对PDO 不太熟悉。 结果不返回。我的语法正确吗? 问题答案: 您必须在而不是查询中包括符号: 如果您在之前的代码中查看生成的查询,则会看到类似的内容,因为prepared语句在一个已被引用的字符串内引用了您的值。

  • 问题内容: 我是Elasticsearch的新手。我正在尝试编写一个查询,该查询将按字段分组并计算总和。在SQL中,我的查询如下所示: 我有在ES中看起来像这样的数据: 我想本质上在ES中运行与SQL中相同的查询,这样我的结果将类似于(当然是json): 问题答案: 在elasticsearch中,您可以通过使用术语stats facet 实现此目的:

  • 也许查询过滤器不正确?(我尝试了几个选项都没有成功) 错误:{“错误”:“SearchPhaseExecutionException[未能执行阶段[query],总失败;shardFailures{[AS6HqxgNRtyU9-pQKhJsXQ][IDX_Cerception][3]:SearchParseException[[IDX_Cerception][3]:From[-1],大小[-1]:

  • 我试图将查询与exclude查询一起使用,以便它匹配除要排除的术语之外的所有术语。我在一个基本的URI查询中找到了它,但不是常规的JSON查询。如何将此URI转换为JSON类型查询? 其中是不匹配的标记列表。 这是我目前所掌握的: 但是,当我这样做时,仍然包含在结果中。如何排除?

  • 问题内容: 有什么办法(查询)在ElasticSearch中加入以下2个JSON 以上2种JSON在Logstash中以2种不同类型处理(输入),因此它们的索引在Elasticsearch中归档的不同“类型”中可用。 我想要的是在product_id字段上加入2个JSON。 问题答案: 当您说加入时,这取决于您的打算。Elasticsearch与支持表之间的JOIN的常规数据库不同。它是一个文本搜