elasticsearch查询用OR表示多个术语

时间:2014-11-25 10:08:53

标签: elasticsearch

SELECT * FROM tablename WHERE field1 LIKE '%keysearch%' OR field2 LIKE '%keysearch%' OR field3 LIKE '%keysearch%';

如何将此查询翻译为elasticsearch查询?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用query_string

curl -XGET 'http://localhost:9200/index/tablename/_search?pretty' -d '{
  "query": {
    "query_string": { 
         "query":"*keysearch*", 
         "fields": ["field1","field2","field3"]
     }
   }
}'

query_string默认使用OR,并支持通配符。

但是,如果使用前导和尾随通配符,您的表现将不会很好。