cube-js/cube

Elasticsearch contains query does a fuzzy match instead of like query

開放

#1,720 建立於 2021年1月4日

 (6 則留言) (0 個反應) (0 位負責人)Rust (1,965 個分叉)batch import
community supporteddriver:elasticsearchhelp wanted

倉庫指標

星標
 (19,563 顆星)
PR 合併指標
 (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

貢獻者指南