opensearch-project/opensearch-benchmark-workloads

[FEATURE] Adding match query on high cardinality field in Big5

Open

#617 opened on Apr 21, 2025

 (1 comment) (0 reactions) (0 assignees)Python (137 forks)auto 404
enhancementgood first issue

Repository metrics

Stars
 (33 stars)
PR merge metrics
 (PR metrics pending)

Description

Is your feature request related to a problem?

When upgrading OpenSearch to Lucene 9.12.0 for 2.18 release, we caught a regression in Lucene from the keyword-in-range operation in Big5. It was related to query not reading skip data and treating non-competitive docs as competitive. See https://github.com/apache/lucene/issues/14445 for details.

"query": {
    "bool": {
        "must": [{
            "range": {
                "@timestamp": {
                    "gte": "2023-01-01T00:00:00",
                    "lt": "2023-01-03T00:00:00"
                }
            }
        }, {
            "match": {
                "process.name": "kernel"
            }
        }]
    }
}

The regression could have been identified if just the match query was an operation in itself.

What solution would you like?

Add match query on a high cardinality field process.name as a separate operation.

"match": {
    "process.name": "kernel"
}

Contributor guide