弹性搜索中的Sql的LIKE搜索替代方案

时间:2016-08-01 11:43:39

标签: elasticsearch querydsl

我需要搜索像#34; 234"来自给定字段的值包含" abc:+ 123456789"等值。 这更像是SQL的LIKE搜索。

我尝试了大约30亿个索引的文档:

1-通配符:

curl -XPOST 'localhost:9200/ccp/_search?pretty' -d '{
  "from": 0,"size": 10,   
  "query": {
      "wildcard": {
       "original_address": {
          "value": "*6421685922*"
       }
    }
   }   
}'

这大约需要600秒,这太过分了。

2- query-string

curl -XPOST 'localhost:9200/ccp/_search?pretty' -d '{ 
   "query": {"filtered": {"query": { "query_string": {
          "fields": [ "original_address" ],
          "query": "*7570850706*"
        }
      }      
    }
  }
}'

还是花了太多时间。

弹性queryDSL或CURL中最好的替代方法是什么?

0 个答案:

没有答案