Connecting from jaeger tracing to elasticsearch

Greetings. im trying to connect to elasticsearch from yaeger tracing app, it looks like it is connected with the correct url and creds but when i look at the yaeger ui im seeing this error. Ideas please ? thanks,

HTTP Error: search services failed: elastic: Error 400 (Bad Request): all shards failed [type=search_phase_execution_exception]: RootCause[Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [serviceName] in order to load field data by uninverting the inverted index. Note that this can use significant memory. [type=illegal_argument_exception]]

Did you find how to fix it ?
I've been going through quite a few github issues ... but I still don't know what's causing it.
I'm running opensearch 2.13 if that makes a difference

OpenSearch is not the same product.
It's a fork of a tiny part of the code which was written 3+ years ago. Elasticsearch progressed a lot in the meantime. Even APIs are probably not compatible anymore.

Actually, my issue was that OS is now using index_template and not "_template" anymore. So I just needed to copy the jaeger templates, and change them into index_template, insert them and voila.

Code:

{
  "index_patterns": [
    "jaeger-span-*"
  ],
  "priority": 400,
  "template": {
    "settings": {
      "index": {
        "number_of_shards": "1",
        "number_of_replicas": "1",
        "mapping": {
          "nested_fields": {
            "limit": "50"
          },
          "ignore_malformed": "true"
        },
        "requests": {
          "cache": {
            "enable": "true"
          }
        }
      }
    },
    "mappings": {
      "dynamic_templates": [
        {
          "span_tags_map": {
            "path_match": "tag.*",
            "mapping": {
              "ignore_above": 256,
              "type": "keyword"
            }
          }
        },
        {
          "process_tags_map": {
            "path_match": "process.tag.*",
            "mapping": {
              "ignore_above": 256,
              "type": "keyword"
            }
          }
        }
      ],
      "properties": {
        "traceID": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "process": {
          "properties": {
            "tag": {
              "type": "object"
            },
            "serviceName": {
              "ignore_above": 256,
              "type": "keyword"
            },
            "tags": {
              "dynamic": false,
              "type": "nested",
              "properties": {
                "tagType": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "value": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "key": {
                  "ignore_above": 256,
                  "type": "keyword"
                }
              }
            }
          }
        },
        "startTimeMillis": {
          "format": "epoch_millis",
          "type": "date"
        },
        "references": {
          "dynamic": false,
          "type": "nested",
          "properties": {
            "traceID": {
              "ignore_above": 256,
              "type": "keyword"
            },
            "spanID": {
              "ignore_above": 256,
              "type": "keyword"
            },
            "refType": {
              "ignore_above": 256,
              "type": "keyword"
            }
          }
        },
        "flags": {
          "type": "integer"
        },
        "operationName": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "parentSpanID": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "tags": {
          "dynamic": false,
          "type": "nested",
          "properties": {
            "tagType": {
              "ignore_above": 256,
              "type": "keyword"
            },
            "value": {
              "ignore_above": 256,
              "type": "keyword"
            },
            "key": {
              "ignore_above": 256,
              "type": "keyword"
            }
          }
        },
        "spanID": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "duration": {
          "type": "long"
        },
        "startTime": {
          "type": "long"
        },
        "tag": {
          "type": "object"
        },
        "logs": {
          "dynamic": false,
          "type": "nested",
          "properties": {
            "fields": {
              "dynamic": false,
              "type": "nested",
              "properties": {
                "tagType": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "value": {
                  "ignore_above": 256,
                  "type": "keyword"
                },
                "key": {
                  "ignore_above": 256,
                  "type": "keyword"
                }
              }
            },
            "timestamp": {
              "type": "long"
            }
          }
        }
      }
    }
  }
}

and:

{
  "index_patterns": [
    "jaeger-service-*"
  ],
  "priority": 400,
  "template": {
    "settings": {
      "index": {
        "number_of_shards": "1",
        "number_of_replicas": "1",
        "mapping": {
          "nested_fields": {
            "limit": "50"
          },
          "ignore_malformed": "true"
        },
        "requests": {
          "cache": {
            "enable": "true"
          }
        }
      }
    },
    "mappings": {
      "dynamic_templates": [
        {
          "span_tags_map": {
            "path_match": "tag.*",
            "mapping": {
              "ignore_above": 256,
              "type": "keyword"
            }
          }
        },
        {
          "process_tags_map": {
            "path_match": "process.tag.*",
            "mapping": {
              "ignore_above": 256,
              "type": "keyword"
            }
          }
        }
      ],
      "properties": {
        "operationName": {
          "ignore_above": 256,
          "type": "keyword"
        },
        "serviceName": {
          "ignore_above": 256,
          "type": "keyword"
        }
      }
    }
  }
}

and then insert with:

curl -H 'Content-Type: application/json' -v -X PUT https://$ES_HOST/_index_template/jaeger-span --data '
[...]
'

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.