elasticsearch 字符串搜索

字符串搜索中用到的有:java

+ 表示條件都知足(表示「而且」關係)curl

- 表示必須的不知足(表示「非」關係)url

什麼都沒有則表示 可選(或者關係)spa

經常使用的 encoder後用到的自符:%2B表示+  %3A冒號 -表示的仍是-  具體的方式在java中能夠根據:URLEncoder.encode 來查看code

查詢全部的索引下的數據信息
duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?pretty'

普通的搜索 表示在全部索引下的數據中 篩選 last_name 爲Smith的數據:索引

duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=last_name:Smith&pretty'

普通搜索 表示在全部索引下的數據中 全部字段中包含 Smith的數據:文檔

duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=Smith&pretty'

注:在全部的字段中搜索至關於數據被拼接成啦 各個字段相累加的一個 _all的字段字符串

當你索引一個文檔,Elasticsearch把全部字符串字段值鏈接起來放在一個大字符串中,它被索引爲一個特殊的字段_all。例如,當索引這個文檔:
{
    "tweet":    "However did I manage before Elasticsearch?",
    "date":     "2014-09-14",
    "name":     "Mary Jones",
    "user_id":  1
}
這比如咱們增長了一個叫作_all的額外字段值:
"However did I manage before Elasticsearch? 2014-09-14 Mary Jones 1"
若沒有指定字段,查詢字符串搜索(即q=xxx)使用_all字段搜索。

使用都知足的 而且條件 it

這裏的+表示或者(連接)的意思[last_name爲John 或者 Jane 或者 Douglas]
curl -i -XGET 'http://localhost:9200/_search?q=last_name:(John+Jane+Douglas)&pretty'


這裏的 + 表示的是 連接的意思 %2B表示的是而且的意思[last_name爲John 或者 Jane 或者 Douglas,而且 last_name爲:Smith]
duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=first_name:(John+Jane+Douglas)+%2Blast_name:Smith&pretty'


這裏的 + 表示的是 連接的意思 %2B表示的是而且的意思[last_name爲John 或者 Jane 或者 Douglas,而且 last_name爲:Smith 而且 在_all中包含love]
duanlshdeMacBook-Pro:bin duanlsh$ curl -i -XGET 'http://localhost:9200/_search?q=first_name:(John+%2BJane+Douglas)+%2Blast_name:Smith+%2Blove&pretty'
相關文章
相關標籤/搜索