This repository was archived by the owner on Nov 7, 2025. It is now read-only.

Description
According to DQL.
field:query means token matching. This is implemented as substring in quesma. Mostly it is correct/acceptable for most use cases .
field.keyword:query means exact matching. This is also implemented as substring in quesma. This is not ideal given exact matching is quite doable in with sql.
See this example:
input
"query": { "bool": { "filter": [ { "bool": { "minimum_should_match": 1, "should": [ { "match": { "system.keyword": "XXX" } } ] } }, { "range": { "logging_time": { "format": "strict_date_optional_time", "gte": "2025-05-29T17:36:00.481Z", "lte": "2025-05-29T17:51:00.481Z" } } } ], "must": [], "must_not": [], "should": [] } },
output:
SELECT ... FROM ... WHERE ("system" ILIKE '%XXX%' AND ("time">= fromUnixTimestamp64Milli(1748536156236) AND "time"<= fromUnixTimestamp64Milli(1748537056236))) ORDER BY "time" DESC LIMIT 500