elasticsearch - Elasticsearch中带有斜杠的通配符返回零条目

标签 elasticsearch kibana elastic-stack

我正在使用elastichsearch 5来存储和搜索一些文档。
在我的文档中,我有一个名为URL的字段,如下所示:

{
    //... other fields
    "URL": "http://ip:8080/app/addItemToCart.html?workingItemId=X1"
}

我试图对通配符使用查询,因为我想获取URL中包含单词“addItemToCart”的所有文档。
这是我的查询:
GET myindex/_search
{
  "query" : {
    "wildcard" : { "URL" : "*addItemToCart*" }
  }
}

它返回零个文档,但我在带有该关键字的elasticsearch中有文档。

这是我对索引的映射。
GET myindex/_mapping
{
  //.... other fields
    "URL": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      }
}

怎么了?

最佳答案

in the documentation所述,通配符查询

Matches documents that have fields matching a wildcard expression (not analyzed)



因此,您的查询应为:
GET myindex/_search
{
  "query" : {
    "wildcard" : { "URL.keyword" : "*addItemToCart*" }
  }
}

关于elasticsearch - Elasticsearch中带有斜杠的通配符返回零条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55169355/

相关文章:

elasticsearch - Logstash无法从Beats中读取logtype字段

elasticsearch - 现在以_timestamp中的格式进行日期

php - 使用 Elasticsearch 在 Laravel 中搜索查询背后的逻辑

r - 安全 Elasticsearch R 连接错误 - 客户端请求的协议(protocol) TLSv1 未启用或不受支持

elasticsearch - 文件计数不一致

elasticsearch - Kibana无法启动通过HTTP配置的Shield

elasticsearch - Kibana 链接多个仪表板

elasticsearch - Kibana条形图无法正确过滤数据

elasticsearch - 使用 serilog 将日志直接写入 elasticsearch 是个好主意吗

linux - 获取更改所有权 '/var/log/logstash' : Operation not permitted