【问题标题】:Querying for a substring within a field in elasticsearch在elasticsearch中查询字段中的子字符串
【发布时间】:2018-08-09 04:19:59
【问题描述】:

我正在尝试查询索引中 msg 字段中包含 143=NEWYORK 的所有文档。这是一个例子:

"_index": "sample-2018.07.23",
"_type": "logs",
"_id": "osDryGQBWeBeIkHntjFo",
"_score": 11.664754,
"_source": {
"msg":"u00011=hi\u00013=i'm\u00028=trying\u0001=to\u000169=query\u000143=NEWYORK,
"symbol": "FB",
"side": "1",
"receivingsession": "SIMQA", ....

此文档包含“msg:”u00011=hi........u143=NEWYORK”,我希望将其退回。

我尝试过的查询包括:

  1. {"query":{"bool":{"should":[{"query_string":{"query":"143=NEWYORK"}}]}}}
  2. {"query":{"bool":{"should":[{"match":{"msg":"143=Newyork"}}}]}}}

这些都不起作用。出于某种原因,如果我只尝试“Newyork”而不是“143=NewYork”,它就可以正常工作。有没有人有解决方案,任何帮助表示赞赏。

谢谢

【问题讨论】:

  • 你能添加你的映射吗?

标签: java rest elasticsearch aws-elasticsearch


【解决方案1】:

改用query_string 怎么样:

    {"query": { "bool" : "must" : [{ "query_string" : {"query" : "msg" : "*143=Newyork*" }}]}

【讨论】:

  • 您是否遇到错误?这些值是如何编入索引的?
  • 看起来您正在使用 Kibana。对吗?
  • 不确定我们是否使用 kibana,它是基于 DEV、QA、UAT 进行索引的。我没有收到错误,而是出现 143 的所有实例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
相关资源
最近更新 更多