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

ES elasticsearch-analysis-dynamic-synonym連接數(shù)據(jù)庫動態(tài)更新synonym近義詞

這篇具有很好參考價值的文章主要介紹了ES elasticsearch-analysis-dynamic-synonym連接數(shù)據(jù)庫動態(tài)更新synonym近義詞。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ES elasticsearch-analysis-dynamic-synonym連接數(shù)據(jù)庫動態(tài)更新synonym近義詞

修改源碼實現(xiàn)連接數(shù)據(jù)庫獲取近義詞匯
下載elasticsearch-analysis-dynamic-synonym打開項目(https://github.com/bells/elasticsearch-analysis-dynamic-synonym/tree/master)

一、修改pom.xml

引入依賴

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.21</version>
</dependency>

<!--或者oracle-->
<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.3.0.0</version>
</dependency>

將pom文件中的版本修改成跟你的es版本號一樣的,比如我的是7.2.0

使用不同的版本對應(yīng)的lucene包不同,某些代碼略有不同,根據(jù)編譯器提示修改即可,下面的代碼照常添加

<version>7.2.0</version>

二、 修改main/assemblies/plugin.xml

? 在標(biāo)簽下添加 根據(jù)不同環(huán)境二選一

 <!--添加mysql-connector依賴-->
<dependencySet>
    <outputDirectory/>
    <useProjectArtifact>true</useProjectArtifact>
    <useTransitiveFiltering>true</useTransitiveFiltering>
    <includes>
    	<include>mysql:mysql-connector-java</include>
    </includes>
</dependencySet>

<!--將 oracle 的 jar 包打包進(jìn) zip 包-->
<dependencySet>
    <outputDirectory/>
    <useProjectArtifact>true</useProjectArtifact>
    <useTransitiveFiltering>true</useTransitiveFiltering>
    <includes>
        <include>com.oracle.ojdbc:ojdbc8</include>
    </includes>
</dependencySet>

在標(biāo)簽下添加(與標(biāo)簽同級)

<fileSets>
    <fileSet>
        <directory>${project.basedir}/config</directory>
        <outputDirectory>config</outputDirectory>
    </fileSet>
</fileSets>

三、jdbc配置文件

在項目根目錄下創(chuàng)建config/jdbc.properties文件,寫入以下內(nèi)容

# mysql
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai
jdbc.username=賬號
jdbc.password=密碼
#近義詞sql查詢語句。(注意要以words字段展示)
synonym.word.sql=SELECT `keys` AS words FROM es_synonym WHERE ifdel = '0'
#獲取近義詞最后更新時間,用來判斷是否發(fā)生了更新。(注意要以maxModitime詞匯顯示)
synonym.lastModitime.sql=SELECT MAX(moditime) AS maxModitime FROM es_synonym
interval=10

# 配置連接oracle數(shù)據(jù)庫
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
jdbc.username=root
jdbc.password=123456
#近義詞sql查詢語句。(注意要以words字段展示)
synonym.word.sql=select SYNONYM_KEY as words from es_synonym where IS_DELETED = '0'
#獲取近義詞最后更新時間,用來判斷是否發(fā)生了更新。(注意要以maxModitime詞匯顯示)
synonym.lastModitime.sql=SELECT MAX(UPD_TIME) AS maxModitime FROM es_synonym
interval=60

四、編寫加載詞匯類

1、創(chuàng)建DynamicSynonymFromDb類

在com.bellszhu.elasticsearch.plugin.synonym.analysis包下,我們可以看到很多加載近義詞匯的類,比如RemoteSynonymFile類就是通過接口來加載近義詞詞匯的。
? 我們在該包下創(chuàng)建類DynamicSynonymFromDb,同時繼承SynonymFile接口,該類是用來讀取數(shù)據(jù)庫的近義詞匯的,代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-765074.html

/**
 * @author yandi
 * @date 2023/06/15
 */
public class DynamicSynonymFromDb implements SynonymFile {
   

    /**
     * 配置文件名
     */
    private final static String DB_PROPERTIES = "jdbc.properties";

    private static Logger logger = LogManager.getLogger("dynamic-synonym");

    private String format;

    private boolean expand;

    private boolean lenient;

    private Analyzer analyzer;

    private Environment env;

    /**
     * 動態(tài)配置類型
     */
    private String location;

    /**
     * 作用類型
     */
    private String group;

    private long lastModified;

    private Path conf_dir;

    private JdbcConfig jdbcConfig;

    DynamicSynonymFromDb(Environment env, Analyzer analyzer,
                         boolean expand, boolean lenient, String format, String location, String group) {
   
        this.analyzer = analyzer;
        this.expand = expand;
        this.lenient = lenient;
        this.format = format;
        this.env = env;
        this.location = location;
        this.group = group;
        // 讀取配置文件
        setJdbcConfig();
        // 加載驅(qū)動
        try {
   
            Class.forName(jdbcConfig.getDriver());
        } catch (ClassNotFoundException e) {
   
            e.printStackTrace();
        }
        // 判斷是否需要加載
        isNeedReloadSynonymMap()

到了這里,關(guān)于ES elasticsearch-analysis-dynamic-synonym連接數(shù)據(jù)庫動態(tài)更新synonym近義詞的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • ES之API系列--dynamic template(動態(tài)模板)的用法(有實例)

    ES之API系列--dynamic template(動態(tài)模板)的用法(有實例)

    原文網(wǎng)址:ES之API系列--dynamic template(動態(tài)模板)的用法(有實例)_IT利刃出鞘的博客-CSDN博客 說明 ? ? ? ? 本文介紹ElasticSearch的dynamic template(動態(tài)模板)的用法(有實例)。 官網(wǎng)網(wǎng)址 https://www.elastic.co/guide/en/elasticsearch/reference/8.0/dynamic-templates.html 作用概述 ????????動態(tài)模板是針對

    2023年04月16日
    瀏覽(12)
  • elasticsearch安裝dynamic-synonym插件

    elasticsearch安裝dynamic-synonym插件

    ? 今天就來和大家講講如何在es中安裝dynamic-synonym插件,首先我們需要去github上下載與es版本對應(yīng)的插件,一般github上基本都是本地詞庫和遠(yuǎn)程文本詞庫的,在gitee上可以找到采用數(shù)據(jù)庫作為詞庫的源碼,大致思路就是修改一些參數(shù)配置,然后自己創(chuàng)建一個表作為同義詞詞庫,

    2024年02月11日
    瀏覽(23)
  • elasticsearch Too many dynamic script 問題

    elasticsearch Too many dynamic script 問題

    報錯: Caused?by:?ElasticsearchException [Elasticsearch?exception?[type=circuit_breaking_exception,?reason=[script]? Too?many?dynamic?script?compilations?within,?max:?[75/5m];? please?use?indexed,?or?scripts?with?parameters?instead; ?this?limit?can?be?changed?by?the?[script.max_compilations_rate]?setting]] ? 解決方案:更

    2024年02月16日
    瀏覽(19)
  • Linux下安裝ElasticSearch-analysis-ik中文分詞器插件,以及可能出現(xiàn)的異常處理

    Linux下安裝ElasticSearch-analysis-ik中文分詞器插件,以及可能出現(xiàn)的異常處理

    ? ? ? ? 注意:安裝可以采用在線方式、離線方式,但是不建議在線安裝,速度超級慢,本文只介紹離線安裝方式 ? ? ? ? ????????下載地址:https://github.com/medcl/elasticsearch-analysis-ik ? ? ? ? ? ? ? ? 切記選擇版本需要跟ElasticSearch保持一致,否則可能會出現(xiàn)一些未知的異

    2024年02月07日
    瀏覽(37)
  • elasticsearch插件安裝(二)之dynamic-synonym插件

    elasticsearch插件安裝(二)之dynamic-synonym插件

    ? 今天就來和大家講講如何在es中安裝dynamic-synonym插件,首先我們需要去github上下載與es版本對應(yīng)的插件,一般github上基本都是本地詞庫和遠(yuǎn)程文本詞庫的,在gitee上可以找到采用數(shù)據(jù)庫作為詞庫的源碼,大致思路就是修改一些參數(shù)配置,然后自己創(chuàng)建一個表作為同義詞詞庫,

    2024年02月03日
    瀏覽(17)
  • elasticsearch啟動報錯:Plugin [analysis-ik] was built for Elasticsearch version 8.2.3 but version7.4.0

    elasticsearch啟動報錯:Plugin [analysis-ik] was built for Elasticsearch version 8.2.3 but version7.4.0

    啟動失敗后從es的日志文件中可以看到以下。 Plugin [analysis-ik] was built for Elasticsearch version 8.2.3 but version7.4.0 解決辦法:修改 plugin-descriptor.properties 文件中 elasticsearch.version=你的ES版本號 然后重啟啟動elasticsearch就可以了

    2024年02月12日
    瀏覽(21)
  • 【ARM 常見匯編指令學(xué)習(xí) 8 - dsb sy 指令及 dsb 參數(shù)介紹】

    上篇文章:ARM 常見匯編指令學(xué)習(xí) 7 - LDR 指令與LDR偽指令及 mov指令 下篇文章:ARM 常見匯編指令學(xué)習(xí) 9 - 緩存管理指令 DC 與 IC 數(shù)據(jù)同步屏障是一種特殊類型的內(nèi)存屏障。 只有當(dāng)DSB指令執(zhí)行完畢后,才會執(zhí)行程序中位于此指令后的指令。 當(dāng)滿足以下條件時,此指令才會完成:

    2024年02月09日
    瀏覽(43)
  • 雙目視覺檢測 KX02-SY1000型測寬儀 有效修正和消除距離變化對測量的影響

    雙目視覺檢測 KX02-SY1000型測寬儀 有效修正和消除距離變化對測量的影響

    雙目視覺檢測的基本原理 利用相機測量寬度時,由于單個相機在成像時存在“近大遠(yuǎn)小”的現(xiàn)象,并且單靠攝入的圖像無法知道被測物的距離,所以由被測物的跳動導(dǎo)致的被測物到工業(yè)相機之間距離變化,使測量精度難以提高。 因此測寬儀需要采用兩個相機從不同的角度對

    2024年02月06日
    瀏覽(25)
  • 【elasticsearch】elasticsearch es讀寫原理

    【elasticsearch】elasticsearch es讀寫原理

    今天來學(xué)習(xí)下 es 的寫入原理。 Elasticsearch底層使用Lucene來實現(xiàn)doc的讀寫操作: 沒有并發(fā)設(shè)計 lucene 只是一個搜索引擎庫,并沒有涉及到分布式相關(guān)的設(shè)計,因此要想使用Lucene來處理海量數(shù)據(jù),并利用分布式的能力,就必須在其之上進(jìn)行分布式的相關(guān)設(shè)計。 非實時 將文件寫入

    2023年04月08日
    瀏覽(14)
  • ES(elasticsearch)報錯elasticsearch.keystore

    準(zhǔn)備啟動ES發(fā)現(xiàn)報錯如下elasticsearch.keystore,一直沒弄清楚怎么回事,即便我按照keystore搜索也沒有,后來我才意識到是權(quán)限的問題啊兄弟們!你們看其他文件都是lin:lin,只有這個elasticsearch.keystore歸屬于root,因為它是在我啟動后才生成的,自然在我設(shè)置歸屬的時候沒有

    2024年02月12日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包