查询字段内的项目 - DSL 查询
Query for an item inside of Fields - DSL Query
我阅读了这篇文章 elasticsearch query and match query,以便能够在我的整个日志中查询具有特定 ID 的 ElasticApmTraceId
。
所以我尝试执行以下操作以获得 ElasticApmTraceID
:
GET /customer-simulation-es-app-logs*/_search
{
"query": {
"match": {
"fields": {
"ElasticApmTraceId": "da58115e800c284b8e2556185c1c8e64"
}
}
}
}
但是,当我这样做时,returns:
为什么它 returns 是 400 而不是我想要的?
根据文档结构,ElasticApmTraceId
字段在 fields
内。您可以使用 fields.ElasticApmTraceId
访问 ElasticApmTraceId
的值
将您的查询修改为
{
"query": {
"match": {
"fields.ElasticApmTraceId": "da58115e800c284b8e2556185c1c8e64"
}
}
}
我建议您使用 bool
、must
和 term
到 query.The 以下文章应该对您有所帮助:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html
GET /customer-simulation-es-app-logs*/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"ElasticApmTraceId": {
"value": "da58115e800c284b8e2556185c1c8e64"
}
}
}
]
}
}
}
我阅读了这篇文章 elasticsearch query and match query,以便能够在我的整个日志中查询具有特定 ID 的 ElasticApmTraceId
。
所以我尝试执行以下操作以获得 ElasticApmTraceID
:
GET /customer-simulation-es-app-logs*/_search
{
"query": {
"match": {
"fields": {
"ElasticApmTraceId": "da58115e800c284b8e2556185c1c8e64"
}
}
}
}
但是,当我这样做时,returns:
为什么它 returns 是 400 而不是我想要的?
根据文档结构,ElasticApmTraceId
字段在 fields
内。您可以使用 fields.ElasticApmTraceId
ElasticApmTraceId
的值
将您的查询修改为
{
"query": {
"match": {
"fields.ElasticApmTraceId": "da58115e800c284b8e2556185c1c8e64"
}
}
}
我建议您使用 bool
、must
和 term
到 query.The 以下文章应该对您有所帮助:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html
GET /customer-simulation-es-app-logs*/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"ElasticApmTraceId": {
"value": "da58115e800c284b8e2556185c1c8e64"
}
}
}
]
}
}
}