cube-js/cube

Elasticsearch contains query does a fuzzy match instead of like query

Open

#1.720 aberto em 4 de jan. de 2021

Ver no GitHub
 (6 comments) (0 reactions) (0 assignees)Rust (1.965 forks)batch import
community supporteddriver:elasticsearchhelp wanted

Métricas do repositório

Stars
 (19.563 stars)
Métricas de merge de PR
 (Mesclagem média 5d 16h) (138 fundiu PRs em 30d)

Description

Describe the bug When I do a contains search in the cube for an elasticsearch database it creates a fuzziness SQL query

To Reproduce Cube Query

{
  "filters": [
    {
      "dimension": "index.message",
      "values": [
        "viral"
      ],
      "operator": "contains"
    }
  ],
  "limit": 1,
  "dimensions": [
    "index.user_id"
  ]
}

This creates a SQL query like this

  SELECT
      index.user_id index__user_id
    FROM
      index AS index
  WHERE ( MATCH(index.message, 'viral', 'fuzziness=AUTO:1,5')) GROUP BY index.user_id ORDER BY index.user_id ASC LIMIT 1

Is there any reason we are not using the LIKE query in this case If not then can I change it, such that the engine creates a LIKE query when the input cube query has operator as contains

Guia do colaborador