Spring?Data?Elasticsearch?5.x實(shí)現(xiàn)單詞糾錯(cuò)和自動(dòng)補(bǔ)全
單詞糾正功能
//單詞糾正 PhraseSuggester phraseSuggester = FieldSuggesterBuilders.phrase() .field("name") .size(1) .build(); FieldSuggester ps = new FieldSuggester.Builder() .text(name) .phrase(phraseSuggester) .build(); //查詢(xún) Suggester nameSuggester = Suggester.of(s -> s.suggesters("phrase", ps)); NativeQuery nativeQuery = NativeQuery.builder() .withSuggester(nameSuggester) .withTrackTotalHits(true) .build(); log.debug("es suggester: {}", nativeQuery.getSuggester()); //這里需要重試,因?yàn)閑s有時(shí)候會(huì)報(bào)連接異常 SearchHits<EsPojo> hits = es.search(nativeQuery, EsPojo.class);
自動(dòng)補(bǔ)全
自動(dòng)補(bǔ)全首先要有Complition字段
/** * 自動(dòng)補(bǔ)全功能 */ @CompletionField(analyzer = IK_ANALYSER, searchAnalyzer = IK_ANALYSER) private Completion completionName;
自動(dòng)補(bǔ)全查詢(xún)
//自動(dòng)補(bǔ)全 String completionField = "completionName"; CompletionSuggester completionSuggester = FieldSuggesterBuilders.completion() .field(completionField) .skipDuplicates(true) .size(size) .build(); FieldSuggester cs = new FieldSuggester.Builder() .text(name) .completion(completionSuggester) .build();
以上就是Spring Data Elasticsearch 5.x實(shí)現(xiàn)單詞糾錯(cuò)和自動(dòng)補(bǔ)全的詳細(xì)內(nèi)容,更多關(guān)于Spring Data Elasticsearch單詞糾錯(cuò)補(bǔ)全的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Springboot單體架構(gòu)http請(qǐng)求轉(zhuǎn)換https請(qǐng)求來(lái)支持微信小程序調(diào)用接口
這篇文章主要介紹了Springboot單體架構(gòu)http請(qǐng)求轉(zhuǎn)換https請(qǐng)求來(lái)支持微信小程序調(diào)用接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Java超詳細(xì)講解設(shè)計(jì)模式中的命令模式
命令模式是將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而可用不同的請(qǐng)求對(duì)客戶(hù)進(jìn)行參數(shù)化,對(duì)請(qǐng)求排隊(duì)或者對(duì)請(qǐng)求做日志記錄,以及可以支持撤銷(xiāo)的操作2022-04-04詳解Java如何使用集合來(lái)實(shí)現(xiàn)一個(gè)客戶(hù)信息管理系統(tǒng)
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java 集合實(shí)現(xiàn)一個(gè)客戶(hù)信息管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11SpringBoot?整合Mybatis-Plus并輸出SQL日志示例詳解
這篇文章主要介紹了SpringBoot整合Mybatis-Plus并輸出SQL日志,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Java日常開(kāi)發(fā)中讀寫(xiě)TXT文本舉例詳解
這篇文章主要給大家介紹了關(guān)于Java日常開(kāi)發(fā)中讀寫(xiě)TXT文本,包括使用BufferedReader、Scanner、FileInputStream等類(lèi)進(jìn)行讀取,以及使用BufferedWriter、PrintWriter、FileOutputStream等類(lèi)進(jìn)行寫(xiě)入,需要的朋友可以參考下2024-12-12Java設(shè)計(jì)模式之代理模式詳細(xì)解讀
這篇文章主要介紹了Java設(shè)計(jì)模式的代理模式,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java設(shè)計(jì)模式的小伙伴有很大的幫助,感興趣的小伙伴可以參考一下2021-08-08SpringBoot整合Logback日志框架及高并發(fā)下的性能優(yōu)化
在現(xiàn)代的Java應(yīng)用開(kāi)發(fā)中,日志記錄是不可或缺的一部分,Spring Boot作為目前最流行的Java開(kāi)發(fā)框架之一,默認(rèn)集成了Logback作為日志框架,Logback是Log4j的繼任者,具有更高的性能和更豐富的功能,本文將詳細(xì)介紹如何在Spring Boot中整合Logback日志框架2025-03-03Java?代碼本地設(shè)置Hadoop用戶(hù)名密碼的方法
在Hadoop環(huán)境中,通常使用Kerberos進(jìn)行身份驗(yàn)證,這篇文章主要介紹了Java?代碼本地設(shè)置Hadoop用戶(hù)名密碼的方法,需要的朋友可以參考下2024-08-08