国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch ES 簡單查詢 Query String Search 入門

這篇具有很好參考價值的文章主要介紹了Elasticsearch ES 簡單查詢 Query String Search 入門。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

帶條件查詢

GET test_mapping_manual1/_search?q=name:hello
GET test_mapping_manual1/_search?from=0&size=3&sort=age:asc

嘗試了text類型排序需要特別處理下. "reason" : "Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [name] in order to load field data by uninverting the inverted index. Note that this can use significant memory."

這種查詢方式是創(chuàng)建索引的字段都會被檢索

GET test_mapping_manual1/_search?q=hell
關(guān)閉字段索引,在mapping中設(shè)置
"cloName": {
"type": "text",
"index": false
}

全文檢索 Fulltext search

match

GET test_mapping_manual1/_search
{
  "query": {
    "match": {
      "name": "John Smith"
    }
  }
}
# name包含John或者Smith都會被檢索出來即這里對搜索詞做了分詞,且對source data也做了分詞

這種把條件放到j(luò)son體中

GET test_mapping_manual1/_search
{
  "query": {
    "match": {
      "name": "keyword1 keyword2 keyword2"
    }
  }
}
# 上邊查詢的含義是任何包含關(guān)鍵字 keyword1 或者 keyword2 或者keyword3都會查詢出來
# 前提是設(shè)置好分詞器,如果中文使用英文分詞器可能會存在問題
# 查詢結(jié)構(gòu)順序按照_score進(jìn)行排序,內(nèi)部排序算法是bm25

查詢結(jié)果會統(tǒng)計(jì)命中幾個關(guān)鍵字

match_all

# 查詢所有全部數(shù)據(jù)
GET test_mapping_manual1/_search
{
  "query": {
    "match_all": {
      
    }
  }
}
# 等同于
GET test_mapping_manual1/_search

# 查詢集群所有數(shù)據(jù)
GET _search

multi_match

# 這段含義是在字段name和desc中查找包含"John或者IT的內(nèi)容的
GET test_mapping_manual1/_search
{
  "query": {
    "multi_match": {
      "query": "John IT",
      "fields": ["name","desc"]
    }
  }
}
# 語義: 默認(rèn)分詞器的對`John Smith`的分詞結(jié)果為`John`和`Smith`
# name.last 中包含 `John` 或者 `Smith`  
# OR  
# name.first 中包含 `John` 或者 `Smith` 
# 如果設(shè)置了"operator": "and",則中間 OR 的關(guān)系變?yōu)?AND
GET teacher/_search
{
  "query": {
    "multi_match": {
      "query": "John Smith",
      "type": "most_fields",
      "fields": [
        "name.last",
        "name.first"
      ]
      // ,"operator": "and"
    }
  }
}


match_phrase

短語搜索

短語搜索內(nèi)部原理是先分詞,分詞之后需要命中每個分詞,并且順序要一直

# 這段含義先把name查詢條件分詞為John 和Tim
# 然后去source中把name字段的內(nèi)容分詞
# 分詞之后需要同時命中John 和Tim并且順序要一致
GET test_mapping_manual1/_search
{
  "query": {
    "match_phrase": {
      "name": "John Tim"
    }
  }
}

驗(yàn)證分詞

GET _analyze
{
  "analyzer": "standard",
  "text": "John Sam desc IT"
}

exact match

使用關(guān)鍵字term

term不會對搜索詞分詞

記住分詞分兩個部分,搜索詞分詞和源數(shù)據(jù)分詞

keyword是不對source data的值分詞

match_phase是分詞的

所以重點(diǎn)來了:

如果搜索詞部分詞,但是source data內(nèi)容分詞了,這時是無法查詢數(shù)據(jù)的,因?yàn)榻ㄋ饕臅r候索引已經(jīng)分詞了; 另外還需要注意一點(diǎn)一個字段要被搜索到一定要被索引到文章來源地址http://www.zghlxwxcb.cn/news/detail-578602.html

GET test_mapping_manual1/_search
{
  "query": {
    "term": {
      "name": "John Smith"
    }
  }
}
# 測試數(shù)據(jù)1
POST test_mapping_manual1/_doc
{
  "name": "John Smith",
  "age": 18,
  "desc": "IT phone"
}
# 此案例無法查詢出數(shù)據(jù)

到了這里,關(guān)于Elasticsearch ES 簡單查詢 Query String Search 入門的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【ElasticSearch-基礎(chǔ)篇】ES高級查詢Query DSL全文檢索

    和術(shù)語級別查詢(Term-Level Queries)不同,全文檢索查詢(Full Text Queries)旨在 基于相關(guān)性搜索和匹配文本數(shù)據(jù) 。這些查詢會對輸入的文本進(jìn)行分析,將其 拆分 為詞項(xiàng)(單個單詞),并執(zhí)行諸如分詞、詞干處理和標(biāo)準(zhǔn)化等操作。 全文檢索的關(guān)鍵特點(diǎn): 對輸入的文本進(jìn)行分析

    2024年01月22日
    瀏覽(10)
  • 【ElasticSearch-基礎(chǔ)篇】ES高級查詢Query DSL術(shù)語級別查詢并結(jié)合springboot使用

    Elasticsearch 提供了基于 JSON 的完整 Query DSL(Domain Specific Language)來定義查詢。 因Query DSL是利用Rest API傳遞JSON格式的請求體(RequestBody)數(shù)據(jù)與ES進(jìn)行交互,所以我們在使用springboot的時候也可以很方便的進(jìn)行集成,本文主要講述的就是使用springboot實(shí)現(xiàn)各類DSL的語法查詢。 Elastics

    2024年02月01日
    瀏覽(21)
  • ElasticSearch系列 - SpringBoot整合ES:查詢條件 query 和過濾條件 filter 的區(qū)別

    01. Elasticsearch 查詢條件和過濾條件的區(qū)別? Elasticsearch中的查詢條件和過濾條件都是用于搜索和過濾文檔的條件,但它們之間有一些區(qū)別。 查詢條件是用于計(jì)算文檔相關(guān)度得分的條件,它會將所有符合條件的文檔按照相關(guān)度得分從高到低排序,并返回前N個文檔。查詢條件可以

    2024年02月14日
    瀏覽(25)
  • ElasticSearch中查詢語句用法(match、match_phrase、multi_match、query_string)

    ElasticSearch中查詢語句用法(match、match_phrase、multi_match、query_string)

    略 1.1 不同字段權(quán)重 ????????如果需要為不同字段設(shè)置不同權(quán)重,可以考慮使用 bool 查詢的 should 子句來組合多個 match 查詢,并為每個 match 查詢設(shè)置不同的權(quán)重。 ????????上面的查詢將在 product_name 字段和 description 字段中搜索包含 \\\"apple\\\" 的文檔,并為 product_name 字段設(shè)

    2024年02月10日
    瀏覽(16)
  • ElasticSearch第六講 ES 三種分頁查詢from+size / Scroll /search_after

    我的Git地址:https://gitee.com/ITLULU 歡迎訪問 ES的分頁查詢和關(guān)系數(shù)據(jù)庫的分頁查詢的區(qū)別: ES分頁查詢有以下幾種: 1:簡單的 from size (有默認(rèn)的最大Size,不可無限大小查詢,因?yàn)閿?shù)據(jù)過多查詢性能會降低,且也要考慮內(nèi)存問題,以及OS緩存數(shù)據(jù)的能力) 2: scroll基于查詢窗口

    2024年02月01日
    瀏覽(15)
  • 【ES】Elasticsearch 常見的簡單查詢

    【ES】Elasticsearch 常見的簡單查詢

    查看es中有哪些索引 請求方式:GET 請求地址: http://localhost:9200 /_cat/indices?v 參數(shù):無 結(jié)果: 查看索引全部數(shù)據(jù) 請求方式:GET 請求地址:http://localhost:9200/index-2023-08/_search 參數(shù): 結(jié)果: ?查詢多1個數(shù)據(jù) 請求方式:GET 請求地址:http://localhost:9200/index-2023-08/_search 解釋:http:

    2024年02月07日
    瀏覽(27)
  • es通過rest接口_search、_delete_by_query查詢與刪除數(shù)據(jù)

    es通過rest接口_search、_delete_by_query查詢與刪除數(shù)據(jù)

    1、rest接口查詢數(shù)據(jù) rest查詢: http://localhost:9200/index_name/_search 查詢表達(dá)式: postman請求截圖: 2、使用Rest接口刪除數(shù)據(jù) rest刪除數(shù)據(jù): http://localhost:9200/index_name/_delete_by_query 查詢表達(dá)式: postman請求截圖:

    2024年02月16日
    瀏覽(26)
  • Elasticsearch從入門到精通-05ES匹配查詢

    Elasticsearch從入門到精通-05ES匹配查詢

    ??作者簡介:大家好,我是程序員行走的魚 ?? 本篇主要介紹和大家一塊學(xué)習(xí)一下ES各種場景下的匹配查詢,有助于我們在項(xiàng)目中進(jìn)行綜合使用 創(chuàng)建索引并指定ik分詞器: 添加數(shù)據(jù): 需要搜索的document中的remark字段包含java和developer詞組 上述語法中,如果將operator的值改為or。則與

    2024年03月27日
    瀏覽(30)
  • ElasticSearch入門:使用ES來實(shí)現(xiàn)模糊查詢功能

    本文針對在工作中遇到的需求:通過es來實(shí)現(xiàn) 模糊查詢 來進(jìn)行總結(jié);模糊查詢的具體需求是:查詢基金/A股/港股等金融數(shù)據(jù),要求可以根據(jù) 字段 , 拼音首字母 , 部分拼音全稱 進(jìn)行聯(lián)想查詢;需要注意的是,金融數(shù)據(jù)名稱中可能不止包含漢字,還有英文,數(shù)字,特殊字符等

    2023年04月09日
    瀏覽(23)
  • Elasticsearch Boolean Query查詢介紹

    前言 ES 和 Solr 的底層都是基于Apache Lucene 實(shí)現(xiàn),bool 查詢的底層實(shí)現(xiàn)是Lucene 的 BooleanQuery,其可以組合多個子句查詢,類似 SQL 語句里面的 OR 查詢。 查詢介紹 在 ES 里面 Boolean 查詢封裝了 4 種 API 接口能力,可以單獨(dú)使用,也可以組合使用,總結(jié)如下: 函數(shù) 描述 must query 關(guān)鍵

    2024年02月13日
    瀏覽(45)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包