最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ES模糊查詢失效的坑以及解決方案

 更新時(shí)間:2023年09月15日 10:42:27   作者:huarui0922  
ES的查詢?cè)硎前捶衷~建立索引,根據(jù)要保存的內(nèi)容先分詞,然后按照分詞的結(jié)果建立索引,這篇文章主要給大家介紹了關(guān)于ES模糊查詢失效的坑及解決方案的相關(guān)資料,需要的朋友可以參考下

項(xiàng)目場(chǎng)景:

最近在做需求開(kāi)發(fā)的時(shí)候,有個(gè)需求,需要根據(jù)關(guān)鍵字去ES中進(jìn)行模糊搜索。于是首先想到了wildcard查詢,根據(jù)關(guān)鍵字,利用*通配符,類似于mysql中的like一樣進(jìn)行模糊搜索。

問(wèn)題描述

但是遇到了問(wèn)題就是,根據(jù)單個(gè)漢字能正常模糊搜索,多個(gè)漢字就無(wú)法查詢出數(shù)據(jù)。單個(gè)漢字正常查詢:

單個(gè)漢字正常查詢

多個(gè)漢字無(wú)法查出數(shù)據(jù):

多個(gè)漢字無(wú)法查出數(shù)據(jù)

于是我就百度找解決方案,很多人說(shuō)都說(shuō)在查詢關(guān)鍵字后面加 .keyword 就可以正常查詢了,于是我接著嘗試,

結(jié)果還是不能正常查詢,而且原來(lái)單個(gè)漢字能查詢的,現(xiàn)在也不行了

原因分析:

于是我懷疑是字段類型導(dǎo)致的,就有了下面這個(gè)我自己建的blog的測(cè)試索引。

咱們現(xiàn)在只關(guān)心索引中的name,newName1,newName2,newName3這4個(gè)字段,可以看到這4個(gè)字段的數(shù)據(jù)類型不同?,F(xiàn)在創(chuàng)建一條數(shù)據(jù),

根據(jù)name模糊查詢

可以看到在keyword類型下,無(wú)論單個(gè)漢字,還是多個(gè)漢字都可以正常查詢

  • newName1的類型為text,最上面就是這種情況,單個(gè)漢字可以,多個(gè)漢字不行
  • newName2的類型為wildcard,跟keyword情況一樣

  • newName3的類型為text,但是附加了keyword類型

單個(gè)漢字正常查詢

多個(gè)漢字不能查詢

加上keyword可以正常查詢

總結(jié):

  • text類型,es會(huì)分詞導(dǎo)致多個(gè)漢字不能正常正常查詢
  • keyword不分詞可以正常查詢
  • wildcard和keyword類似
  • text類型附加keyword類型,相當(dāng)于支持兩種類型,默認(rèn)text,但是可以通過(guò)關(guān)鍵字加.keyword變成keyword類型

到此這篇關(guān)于ES模糊查詢失效的坑以及解決方案的文章就介紹到這了,更多相關(guān)ES模糊查詢失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot?接口需要接收參數(shù)類型是數(shù)組問(wèn)題

    Springboot?接口需要接收參數(shù)類型是數(shù)組問(wèn)題

    這篇文章主要介紹了Springboot?接口需要接收參數(shù)類型是數(shù)組問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot系列教程JPA之基礎(chǔ)環(huán)境搭建的方法

    SpringBoot系列教程JPA之基礎(chǔ)環(huán)境搭建的方法

    這篇文章主要介紹了SpringBoot系列教程JPA之基礎(chǔ)環(huán)境搭建的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Java編程實(shí)現(xiàn)比對(duì)兩個(gè)文本文件并標(biāo)記相同與不同之處的方法

    Java編程實(shí)現(xiàn)比對(duì)兩個(gè)文本文件并標(biāo)記相同與不同之處的方法

    這篇文章主要介紹了Java編程實(shí)現(xiàn)比對(duì)兩個(gè)文本文件并標(biāo)記相同與不同之處的方法,涉及java針對(duì)文本文件的讀取、遍歷、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • SpringBoot中Jackson ObjectMapper應(yīng)用及說(shuō)明

    SpringBoot中Jackson ObjectMapper應(yīng)用及說(shuō)明

    SpringBoot支持支持Jackson作為默認(rèn)的JSON映射庫(kù),提供便捷的對(duì)象與JSON轉(zhuǎn)換功能,文章詳細(xì)介紹了ObjectMapper的配置與使用,以及SpringBoot中Jackson的多種自定義配置方法
    2026-05-05
  • 詳解Java多線程處理List數(shù)據(jù)

    詳解Java多線程處理List數(shù)據(jù)

    這篇文章主要介紹了Java多線程處理List數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • java實(shí)現(xiàn)本地日期時(shí)間處理

    java實(shí)現(xiàn)本地日期時(shí)間處理

    這篇文章主要介紹了本地日期時(shí)間處理的程序,實(shí)現(xiàn)了下面的功能,大家參考使用吧
    2014-01-01
  • Java中如何用Stream分組并求各組數(shù)量

    Java中如何用Stream分組并求各組數(shù)量

    這篇文章主要給大家介紹了關(guān)于Java中如何用Stream分組并求各組數(shù)量的相關(guān)資料,文中通過(guò)實(shí)例代碼,對(duì)大家學(xué)習(xí)或者Java具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Springboot項(xiàng)目由JDK8升級(jí)至JDK17詳細(xì)教程

    Springboot項(xiàng)目由JDK8升級(jí)至JDK17詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了Springboot項(xiàng)目如何由JDK8升級(jí)至JDK17,本文為大家整理了全過(guò)程的詳細(xì)步驟,有需要的小伙伴可以參考一下
    2025-06-06
  • SpringCloud OpenFeign超詳細(xì)講解模板化遠(yuǎn)程通信的實(shí)現(xiàn)

    SpringCloud OpenFeign超詳細(xì)講解模板化遠(yuǎn)程通信的實(shí)現(xiàn)

    這篇文章主要介紹了SpringCloudSpringboot集成OpenFeign實(shí)現(xiàn)模板化遠(yuǎn)程通信,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2022-07-07
  • Java序列化機(jī)制詳解

    Java序列化機(jī)制詳解

    Java 序列化機(jī)制是一種將對(duì)象轉(zhuǎn)換為字節(jié)流的過(guò)程,以便在網(wǎng)絡(luò)上傳輸或保存到文件中,并能在需要時(shí)將字節(jié)流還原為對(duì)象,這一機(jī)制通過(guò)實(shí)現(xiàn) java.io.Serializable 接口來(lái)實(shí)現(xiàn),同時(shí)涉及到一些關(guān)鍵概念和注意事項(xiàng),需要的朋友可以參考下
    2023-12-12

最新評(píng)論

长汀县| 霸州市| 高碑店市| 昭苏县| 安阳市| 大冶市| 陇南市| 七台河市| 正阳县| 津市市| 博客| 漠河县| 博客| 准格尔旗| 孟连| 湖南省| 宜阳县| 尉犁县| 同心县| 泾川县| 清徐县| 静海县| 胶州市| 大石桥市| 容城县| 台州市| 昌宁县| 定兴县| 天门市| 临沧市| 宁夏| 丰都县| 贵阳市| 涟水县| 朝阳市| 阳曲县| 庆阳市| 新乡县| 布尔津县| 琼中| 德令哈市|