cube-js/cube

Elasticsearch contains query does a fuzzy match instead of like query

Open

#1,720 创建于 2021年1月4日

在 GitHub 查看
 (6 评论) (0 反应) (0 负责人)Rust (1,965 fork)batch import
community supporteddriver:elasticsearchhelp wanted

仓库指标

Star
 (19,563 star)
PR 合并指标
 (平均合并 5天 16小时) (30 天内合并 138 个 PR)

描述

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

贡献者指南