如何使用包含子字符串的字段过滤文档

问题描述 投票:0回答:1

我有一个包含以下字段的文档:

  "data": {
    "type": "text",
    "fields": {
      "keyword": {
        "type": "keyword",
        "ignore_above": 256
      }
    }

并且在对kibana进行查询时,我希望过滤所有具有sendMessageFromAgent之类的子字符串的文档。我不想执行查询,我想过滤它们。

该字段的示例如下:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><S:Body><ns2:sendMessageFromAgent xmlns:ns2="http://blahblah/"><ns2:session><ns2:id>a-session-id</ns2:id></ns2:session><ns2:userId><ns2:id>624962268835</ns2:id></ns2:userId><ns2:messages><ns2:message><ns2:text>we have some text here</ns2:text><ns2:sentTimeMillis>1288851099000</ns2:sentTimeMillis></ns2:message></ns2:messages></ns2:sendMessageFromAgent></S:Body></S:Envelope>

我尝试将以下DSL查询作为新的kibana过滤器放置,但未返回任何内容:

{
  "wildcard": {
    "data": "*sendMessageFromAgent*"
  }
}
elasticsearch querydsl
1个回答
0
投票
{ "match": { "data": { "operator": "AND", "query": "sendMessageFromAgent <other-strings-if-needed>" } } }

这将在data字段上执行全文搜索

© www.soinside.com 2019 - 2024. All rights reserved.