最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
ElasticsearchSearchAPI怎么使用

本篇內(nèi)容介紹了“Elasticsearch Search API怎么使用”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

朗縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,朗縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為朗縣成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的朗縣做網(wǎng)站的公司定做!

Search API概述

詳細(xì)API如下:

  • public final SearchResponse sear-ch(SearchRequest searchReques-t, RequestOptions options) throws IOException

  • public final void searchAsync(Sear-chRequest searchRequest, Reque-stOptions options, ActionListener li-stener)

    SearchRequest類(lèi)圖:

    Elasticsearch Search API怎么使用

其關(guān)鍵屬性說(shuō)明如下:

  • private SearchType searchType = SearchType.DEFAULT:搜索類(lèi)型

  1. QUERY_THEN_FETCH
    首先根據(jù)路由算法向相關(guān)分片發(fā)送請(qǐng)求,此時(shí)只返回documentId與一些必要信息(例如用于排序等),然 后對(duì)各個(gè)分片的結(jié)果進(jìn)行匯聚、排序。然后選取客戶(hù)端需要獲取的數(shù)據(jù)條數(shù)(top n)。最后根據(jù)doc-umentId再向各個(gè)分片請(qǐng)求具體的文檔信息。

  2. QUERY_AND_FETCH

    在5.4.x版本開(kāi)始廢棄,直接向各個(gè)分片節(jié)點(diǎn)請(qǐng)求數(shù)據(jù),每個(gè)分片返回客戶(hù)端請(qǐng)求數(shù)量的文檔信息,然后匯聚并全部返回給客戶(hù)端,返回的數(shù)據(jù)為客戶(hù)端請(qǐng)求數(shù)量size * (路由后的分片數(shù)量)。

  3. DFS_QUERY_THEN_FETCH

    在開(kāi)始向各個(gè)節(jié)點(diǎn)發(fā)送請(qǐng)求之前會(huì)先進(jìn)行一次詞頻與相關(guān)性的計(jì)算,后續(xù)處理流程與QUERY_THEN_F-ETCH相同,可以看出該查詢(xún)類(lèi)型的文檔相關(guān)性會(huì)更高,但性能比QUE-RY_THEN_FETCH要差。

  • private String[] indices:待查詢(xún)的索引庫(kù)。

  • private String routing:路由字段值。

  • private String preference:復(fù)制組內(nèi)傾向性。

  • private SearchSourceBuilder sour-ce:查詢(xún)主體(rerquest body),后續(xù)會(huì)重點(diǎn)講解。

  • private Boolean requestCache:是否開(kāi)啟查詢(xún)緩存。

  • private Boolean allowPartialSearc-hResults:是否允許部分成功。

  • private Scroll scroll:滾動(dòng)API(用于分頁(yè))

  • private int batchedReduceSize = DEFAULT_BATCHED_REDUCE_SIZE:批量歸并size:默認(rèn)為512

  • private int maxConcurrentShardRequests = 0:建議最大值別超過(guò)256,其核心含義待研究。

  • private int preFilterShardSize = 128,其核心作用待研究。

  • private String[] types:待查詢(xún)的類(lèi)型。

接下來(lái)再來(lái)重點(diǎn)關(guān)注一下查詢(xún)API幾個(gè)通用的參數(shù):

  • timeout
    查詢(xún)的超時(shí)時(shí)間。

  • from
    查詢(xún)開(kāi)始的偏移量,分頁(yè)參數(shù),類(lèi)似于關(guān)系數(shù)據(jù)庫(kù)的分頁(yè)的start。默認(rèn)值為0。

  • size
    批量獲取條數(shù),用于分頁(yè)查詢(xún)。

  • search_type
    查詢(xún)類(lèi)型,6.4.0只支持QUERY_T-HEN_FETCH與DFS_QUERY_TH-EN_FETCH。

  • request_cache
    查詢(xún)緩存,如果設(shè)置為false,取決于index級(jí)別的設(shè)置,將在索引管理API時(shí)詳細(xì)講解。

  • search_results
    是否允許部分成功,例如一個(gè)查詢(xún)請(qǐng)求需要向3個(gè)分片發(fā)出請(qǐng)求,如果只有兩個(gè)分片成功返回結(jié)果而另外一個(gè)出現(xiàn)故障。如果設(shè)置為false則會(huì)返回整體失敗,如果設(shè)置為true則會(huì)成功部分結(jié)果,默認(rèn)為true。

  • terminate after
    一個(gè)查詢(xún)?yōu)槊總€(gè)分片最多收集的文檔數(shù),當(dāng)達(dá)到該數(shù)量是,查詢(xún)會(huì)提前結(jié)束。

  • batched_reduce_size
    在協(xié)調(diào)節(jié)點(diǎn)上應(yīng)該立即減少一次請(qǐng)求需要訪問(wèn)的分片數(shù)量,如果一次請(qǐng)請(qǐng)求需要匯聚太多節(jié)點(diǎn)上的數(shù)據(jù)容易造成內(nèi)存消耗,該值可作為一個(gè)保護(hù)機(jī)制,控制一個(gè)請(qǐng)求同一時(shí)間并發(fā)訪問(wèn)的最大分片數(shù)量,默認(rèn)為512。

注意:search_type,request_cache和allow_partial_search_results這三個(gè)參數(shù),必須查詢(xún)url級(jí)別的參數(shù)(query str-ing parameters),如果使用Rest low Le-vel API時(shí)需要特別留意。

 

URI Search

Elasticsearch支持使用URI請(qǐng)求模式來(lái)使用Search API,并不支持查詢(xún)請(qǐng)求體中所有參數(shù),該模式主要用途是用于測(cè)試,諸如使用CURL查詢(xún)命令等。

URI Search示例如下:

1GET twitter/_search?q=user:kimchy
 

URI Search支持如下參數(shù):

  • q
    定義查詢(xún)字符串,其語(yǔ)法映射為DSL查詢(xún)語(yǔ)法之query_string。

  • df
    查詢(xún)字符串未使用字段前綴時(shí)定義的默認(rèn)字段。

  • analyzer
    針對(duì)查詢(xún)字符串使用的分詞器。

  • analyze_wildcard
    是否分析通配符合前綴查詢(xún),默認(rèn)值為false。

  • batched_reduce_size
    控制協(xié)調(diào)節(jié)點(diǎn)批量發(fā)送分片的最大個(gè)數(shù),主要是控制協(xié)調(diào)節(jié)點(diǎn)內(nèi)存的消耗而提供的一種保護(hù)機(jī)制。

  • default_oprator
    默認(rèn)操作類(lèi)型,可選值為and、or,默認(rèn)值為or。

  • lenient
    是否支持類(lèi)型轉(zhuǎn)換異常,默認(rèn)為fa-sle,如果將一個(gè)字符類(lèi)型傳遞給一個(gè)數(shù)字類(lèi)型會(huì)拋出異常。如果設(shè)置true則忽略該異常。

  • explain
    類(lèi)似于執(zhí)行計(jì)劃,表示對(duì)于每一個(gè)命中,包含如果得分是如何算出來(lái)的,默認(rèn)為false。

  • _source
    用于對(duì)_source字段進(jìn)行過(guò)濾,可以設(shè)置false來(lái)禁止返回_souce字段。該參數(shù)支持通配符表達(dá)式,例如ob-j.*,用于字段過(guò)濾。

  • stored_fields
    用于字段過(guò)濾,已在字段過(guò)濾部分詳細(xì)介紹過(guò)。

  • sort
    排序,可以類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)的排序語(yǔ)法:fieldName:asc | desc,也可以使用特殊字段_score(表示按分?jǐn)?shù),默認(rèn)值)。

  • track_scores
    當(dāng)使用排序時(shí),跟蹤返回結(jié)果中分?jǐn)?shù)計(jì)算過(guò)程。

  • track_total_hits
    默認(rèn)值為true,表示在返回結(jié)果中返回滿(mǎn)足該查詢(xún)條件的所有記錄數(shù)。

  • timeout
    查詢(xún)超時(shí)時(shí)間,默認(rèn)永不超時(shí)。

  • terminate_after
    是否開(kāi)啟提前結(jié)束查詢(xún),主要是控制一次查詢(xún),從一個(gè)分片中返回的最大文檔數(shù)量,如果開(kāi)啟,返回結(jié)果中會(huì)包含一個(gè)響應(yīng)參數(shù)terminate-d_early,指示是否提前結(jié)束。

  • from
    用于分頁(yè),起始記錄數(shù)。

  • size
    用于分頁(yè),控制一次查詢(xún),從每個(gè)分片查詢(xún)的記錄條數(shù)。

  • search_type
    查詢(xún)類(lèi)型,已在文章開(kāi)頭處介紹。

  • allow_partial_search_results
    是否允許部分分片執(zhí)行失敗,默認(rèn)為true,也可以集群配置參數(shù):se-arch.default_allow_partial_results來(lái)設(shè)置默認(rèn)值。

“Elasticsearch Search API怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


本文標(biāo)題:ElasticsearchSearchAPI怎么使用
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/gpggdj.html