Elasticsearch 的_msearch介紹及在ruby on rails 中的使用

來源:互聯網
上載者:User

標籤:lan   out   rails   映射   rail   ref   head   current   sts   

一、基本介紹

_msearch就是multi search API使用的末端,它可以在一個相同的api中去執行多個查詢請求。

請求的格式類似於大部API的格式,它的請求格式如下: 

header\nbody\nheader\nbody\n

header可以包含要查詢的索引(可以是多個索引),可選的映射類型,還有search_typepreference和routing。

body可以包含指定的搜尋請求(包括:query、aggregations、from、size等等)。

例子見官網:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html#search-multi-search

$ cat requests{}{"query" : {"match_all" : {}}, "from" : 0, "size" : 10}{}{"query" : {"match_all" : {}}}{"index" : "test2"}{"query" : {"match_all" : {}}}$ curl -XGET localhost:9200/test/_msearch --data-binary @requests; echo

例子裡有一個requests的檔案,用curl的二進位流把它的內容傳輸過去。

下面以實際例子來介紹傳檔案和json資料:

在目前的目錄下建立檔案requests,vim requests,寫入:

儲存退出。

curl -XPOST ‘http://xxx.xxx.xxx:9200/_msearch?pretty‘  --data-binary @requests

會出現資料,說明成功了:

下面是傳輸json參數的例子:

以curl -XPOST ‘http://xxx.xxx.xxx:9200/_msearch?pretty‘ -H ‘Content-type:application/json‘ --data-binary ‘json參數‘ 的格式請求:

同樣會得到結果,注意json的格式,一定要有換行,建議在文字編輯器裡寫好再copy進來。

 

 二、_msearch在ruby on rails裡的使用

 這裡主要依賴兩個gem包:elasticsearch-ruby和elasticsearch-rails。

這兩個包的基本使用可以去github上學習,這裡主要看一下msearch的使用,在github裡搜尋msearch:

看一下前兩篇,一個是測試、一個是使用說明。使用說明如下:

它在這裡說的很明白了,它把我們之前的傳入的參數以數組的形式傳給:body參數,注意這裡的body是指名參數。

 

Elasticsearch 的_msearch介紹及在ruby on rails 中的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.