Elasticsearch之外掛es ik配置自定義中文分詞詞典
1. 首先需要安裝好ik
2. 配置自定義中文分詞詞典
如果寶寶們已經安裝好ik,在es中測試分詞成功的,可以新增自己的熱詞庫與停止庫
① cd 到自己的elasticsearch-6.2.2/config/analysis-ik目錄下,可以看到有很多dic(dictionary字典),ik也是基於詞典進行分詞的
②新建目錄custom
mkdir custom
③新建txt檔案或dic檔案,或者下載詞典庫(我是複製ik的dic檔案並加上自己的短語做測試),如下所示,本人裡面加了拓展檔案ext.txt”逼格”詞語,拓展停止檔案english_stopword.txt “java”詞語
!!!這裡一定要注意一定要從第二行開始寫入詞語或短語,ik不讀第一行的詞語哦
④配置ik自定義詞典配置檔案
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴充套件配置</comment>
<!--使用者可以在這裡配置自己的擴充套件字典 -->
<entry key="ext_dict">custom/ext.txt</entry>
<!--使用者可以在這裡配置自己的擴充套件停止詞字典-->
<entry key="ext_stopwords">custom/english_stopword.txt</entry>
<!--使用者可以在這裡配置遠端擴充套件字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--使用者可以在這裡配置遠端擴充套件停止詞字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
⑤重啟es服務
可以看到已經加載出來了
⑥測試
本人安裝的es的圖形工具kibana,建立索引,建立對映,分詞檢測
PUT testindex
POST testindex/test/_mapping
{
"properties": {
"content":{
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
}
}
}
POST testindex/_analyze
{
"field": "content",
"text": ["java 是個 逼格高技術"]
}
分詞結果如下,可以看到java被停止,逼格被拓展,嘻嘻,還不錯
{
"tokens": [
{
"token": "是",
"start_offset": 5,
"end_offset": 6,
"type": "CN_CHAR",
"position": 0
},
{
"token": "個",
"start_offset": 6,
"end_offset": 7,
"type": "CN_CHAR",
"position": 1
},
{
"token": "逼格",
"start_offset": 8,
"end_offset": 10,
"type": "CN_WORD",
"position": 2
},
{
"token": "高技術",
"start_offset": 10,
"end_offset": 13,
"type": "CN_WORD",
"position": 3
},
{
"token": "高技",
"start_offset": 10,
"end_offset": 12,
"type": "CN_WORD",
"position": 4
},
{
"token": "技術",
"start_offset": 11,
"end_offset": 13,
"type": "CN_WORD",
"position": 5
}
]
}
相關推薦
Elasticsearch之外掛es ik配置自定義中文分詞詞典
1. 首先需要安裝好ik 2. 配置自定義中文分詞詞典 如果寶寶們已經安裝好ik,在es中測試分詞成功的,可以新增自己的熱詞庫與停止庫 ① cd 到自己的elasticsearch-6.2.2/config/analysis-ik目錄下,可以看到有
Elasticsearch之中文分詞器外掛es-ik的自定義詞庫
開發十年,就只剩下這套架構體系了! >>>
安裝IK分詞器及自定義擴充套件分詞
1.為什麼用ik分詞器? 因為Elasticsearch中預設的標準分詞器分詞器對中文分詞不是很友好,會將中文詞語拆分成一個一箇中文的漢子。因此引入中文分詞器-es-ik外掛。 傳統分詞器:可以看到把奧迪當做兩個詞進行搜尋了,注意analyzer為"standard"
Lucene筆記20-Lucene的分詞-實現自定義同義詞分詞器-實現分詞器(良好設計方案)
一、目前存在的問題 在getSameWords()方法中,我們使用map臨時存放了兩個鍵值對用來測試,實際開發中,往往需要很多的這種鍵值對來處理,比如從某個同義詞詞典裡面獲取值之類的,所以說,我們需要一個類,根據key提供近義詞。 為了能更好的適應應用場景,我們先定義一個介面,其中定義一
Lucene筆記19-Lucene的分詞-實現自定義同義詞分詞器-實現分詞器
一、同義詞分詞器的程式碼實現 package com.wsy; import com.chenlb.mmseg4j.Dictionary; import com.chenlb.mmseg4j.MaxWordSeg; import com.chenlb.mmseg4j.analysis.MM
Lucene筆記18-Lucene的分詞-實現自定義同義詞分詞器-思路分析
一、實現自定義同義詞分詞器思路分析 前面文章我們提到同義詞分詞器,這裡我們先來分析下同義詞分詞器的設計思路。 首先我們有一個需要分詞的字串string,通過new StringReader(string)拿到Reader。 使用analyzer.tokenStream("co
自定義lucene分詞器,單字分詞
在SearchManager裡定義分詞器 public class LuceneManager implements SearchManager { Analyzer analyzer = new ZCJChineseAnalyzer(); //&nbs
Elasticsearch初探(3)——簡單查詢與中文分詞
一、簡單查詢 1.1 查詢全部 請求方式: GET 請求路徑: ES服務的IP:埠/索引名/{分組,可省略}/_search 以上篇文章建立的索引為例,搜尋結果如下: { "took": 0, "timed_out": false, "
Elasticsearch筆記六之中文分詞器及自定義分詞器
中文分詞器 在lunix下執行下列命令,可以看到本來應該按照中文”北京大學”來查詢結果es將其分拆為”北”,”京”,”大”,”學”四個漢字,這顯然不符合我的預期。這是因為Es預設的是英文分詞器我需要為其配置中文分詞器。 curlHTTP://192.168.79.131:9
Elasticsearch安裝中文分詞外掛ik(ES 2.3.3 & IK 1.9.3)
最近用到elasticsearch做全文檢索知識庫系統,系統已經大致開發完成,需要中文分詞,故網上搜索了下配置方法,可嘗試幾個都不可用,然後就看IK的git原始碼中有介紹,試了下,相比其他方法簡單很
.net持續整合cake篇之cake任務依賴、自定義配置薦及環境變數讀取
系列目錄 新建一個構建任務及任務依賴關係設定 上節我們通過新建一個HelloWorld示例講解了如何編寫build.cake以及如何下載build.ps1啟動檔案以及如何執行.實際專案中,我們使用最多的是對專案進行編譯.本節我們講解如何建立一個編譯任務. 新增一個編譯任務 我們仍然使用上節使用的build
springboot開發之配置自定義的錯誤介面和錯誤資訊
如何定製錯誤頁面? (1)在有模板引擎的情況下:在templates資料夾下的error/狀態碼;即將錯誤頁面命名為:錯誤狀態碼.html放在templates資料夾裡面的error資料夾下,發生此狀態碼的錯誤會來到對應的頁面。 頁面可以獲得的資訊: timestamp:時間 status:狀態碼 error
在struts2中配置自定義攔截器放行多個方法
return med ttr limit ring req tac cat invoke 源碼: 自定義的攔截器類: //自定義攔截器類:LoginInterceptor ; package com.java.action.interceptor; import j
JSP編程專題2之JSP核心三(自定義EL函數和標簽)
自定義el函數 jstl中的el函數 自定義el標簽 自定義帶屬性的el標簽 自定義el遍歷標簽 1、自定義EL函數:a、自定義類,類中的方法使用static修飾符修飾:b、該類以及函數,需要在一個擴展名為.tld(tld,tag library definition,標簽庫定義)的XML
Zabbix(三):高級應用之--展示、模版、自定義屬性測試實例
zabbixZabbix的高級應用1.展示接口: (1)graph: simple graph:每個Item對應的展示圖形; custom graph:創建一個融合了多個simple graph的單個graph; (2)screen: 把多個custom graph整合於一個屏幕進行展示; (3)
PHP之文件引用與自定義函數
urn global sta include 賦值 傳遞 語法 功能實現 頁面 PHP文件間的引用 include語言結構 格式:mixed include(string resource); 將一個資源文件resource載入到當前PHP程序中; resource資
SpringMvc配置自定義視圖
exce gpo hello render servlet throws pro body ews <!-- 配置視圖 BeanNameViewResolver 解析器: 使用視圖的名字來解析視圖 --> <!-- 通過 order 屬性來定義視圖解析
maven項目中配置自定義welcome-file
自定義 技術分享 mave 分享圖片 http .com 配置 png 定義 上圖為文件路徑 相應的路徑maven項目中配置自定義welcome-file
spark源碼系列之累加器實現機制及自定義累加器
大數據 spark一,基本概念 累加器是Spark的一種變量,顧名思義該變量只能增加。有以下特點: 1,累加器只能在Driver端構建及並只能是Driver讀取結果,Task只能累加。 2,累加器不會改變Spark Lazy計算的特點。只會在Job觸發的時候進行相關累加操作。 3,現有累加器的類型。相信有很
Filebeat 6.0 把日誌直接輸入到ES中如何自定義index
同時 emp elastic iba dex sts 報錯 註意 一個 臨時搭建了一套EFK(elasticsearch,filebeat,kibana),filebeat 6.0 默認的index 是filebeat+時間,這樣無法滿足正常的業務需求,如果是收集一個地方的