ES version 6.1.1
Mapping
"fieldName": {
"type": "keyword"
}
ES version 6.1.1
Mapping
"fieldName": {
"type": "keyword"
}
Do you want to query your data for documents that contain a field with more than 50 characters? You can use a script for that.
For example, a script query (https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-script-query.html), that calculates the length of the field and returns true
if the field has more than 50 characters.
One warning: script queries work well for queries that you do not use too often. Script queries are generally expensive, so you want to use them as little as possible.
If you want to query on the length of the field a lot, it's better to pre-process your documents when you index them, and calculate the length of the field then. You could use the ingest node functionality for that (https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html) with a script processor (https://www.elastic.co/guide/en/elasticsearch/reference/current/script-processor.html) that calculates the length of fieldName
and adds the result as a value of a new field in your documents. You can then use a simple range
query on that calculated field.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
© 2020. All Rights Reserved - Elasticsearch
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.