0
SELECT * FROM tablename WHERE field1 LIKE '%keysearch%' OR field2 LIKE '%keysearch%' OR field3 LIKE '%keysearch%';
如何將此查詢轉換爲elasticsearch查詢?elasticsearch查詢LIKE多個術語或
SELECT * FROM tablename WHERE field1 LIKE '%keysearch%' OR field2 LIKE '%keysearch%' OR field3 LIKE '%keysearch%';
如何將此查詢轉換爲elasticsearch查詢?elasticsearch查詢LIKE多個術語或
做到這一點最簡單的方法是使用query_string
:
curl -XGET 'http://localhost:9200/index/tablename/_search?pretty' -d '{
"query": {
"query_string": {
"query":"*keysearch*",
"fields": ["field1","field2","field3"]
}
}
}'
QUERY_STRING將使用或默認並支持通配符。
但是,如果使用前導通配符和尾隨通配符,則性能不會很高。
謝謝!它工作得很好。結果非常標準。但我發現這不是一個合理的安排。如何簡化訂單字段1,字段2,字段3的優先次序?請幫幫我! – Hunter007 2014-11-26 02:19:52
我想這應該是一個單獨的問題 - 但你需要研究得分,並看看你如何能**提高**場比另一場的得分。最簡單但不太靈活的是在[索引時間](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-core-types.html)上進行提升。查詢中更靈活(查看**增強查詢**或**功能得分**)。 – 2014-11-26 10:01:37
我明白了。謝謝! – Hunter007 2014-11-27 07:26:49