ElasticSearch:為中文分詞器增加對英文的支援(讓中文分詞器可以處理中英文混合文件)
本文地址,需轉載請註明出處:
當我們使用中文分詞器的時候,其實也希望它能夠支援對於英文的分詞。試想,任何一個儲存文字的欄位都有可能是中英文夾雜的。
我們的專案中使用IKAnalyzer作為中文分詞器,它在處理文件過程中遇到英文時,利用空格和標點將英文單詞取出來,同時也會對其轉全小寫處理。其實這和真正的英文分詞已經很接近了,只有一牆之隔:詞幹提取。一個真正的英文分詞器除了分割提取單詞和全小寫處理以外,還會把單詞回溯成詞根。
比如說有一個句子:
I like cats!
它的正確分詞為:
[i, like, cat]
詞根化是一個英文分詞器需要具備的功能。IKAnalyzer正是缺少了這點,它對例句的處理結果會是:[i, like, cats
分析一下analyzer的內部邏輯:
Analyzer 的內部就是一條流水線
- Step 1 字元過濾(Character filter)
- Step 2 分詞 (Tokenization)
- Step 3 Token 過濾(Token filtering)
Elasticsearch 已經預設構造了 8個 Analyzer。若無法滿足我們的需求,可以通過「Setting API」構造 Analyzer。
通過構造analyzer,我們可以對IK中文分詞器做一些修改,讓它實現回溯詞根。
{
"settings": {
"analysis": {
"analyzer": {
"optimizeIK": {
"type": "custom",
"tokenizer": "ik",
"filter": [
"stemmer"
]
}
}
}
}
}
我們新建了一個分析器,它使用ik作為分詞器,使用stemmer作為過濾器。stemmer是elasticsearch自帶的一個提取詞幹的演算法,類似的還有
測試一下:
-POST {index_name}/_analyze?pretty&analyzer=optimizeIK
"I like cats"
返回結果:
{
至此,optimizeIK分析器同時擁有了中文+外文分詞的功能。
如果你想把這個分析器設成該index的預設分析器,給它的命名叫default即可。
歡迎交流。
相關推薦
ElasticSearch:為中文分詞器增加對英文的支援(讓中文分詞器可以處理中英文混合文件)
本文地址,需轉載請註明出處: 當我們使用中文分詞器的時候,其實也希望它能夠支援對於英文的分詞。試想,任何一個儲存文字的欄位都有可能是中英文夾雜的。 我們的專案中使用IKAnalyzer作為中文分詞器,它在處理文件過程中遇到英文時,利用空格和標點將英文單詞取出來,同時也
學習總結 - swift介面卡 為 Hadoop 的儲存層增加對 OpenStack Swift 的支援
雖然文件內所涉及的版本有點舊,但內容很精彩,值得推薦 背景 在 Hadoop 中有一個抽象檔案系統的概念,它有多個不同的子類實現,由 DistributedFileSystem 類代表的 HDFS 便是其中之一。在 Hadoop 的 1.x 版本中,HDFS 存在 NameNode 單點故障
關於js物件中兩個函式互相呼叫,其中一個為定時器宣告,定時器迴圈報錯問題(記錄一次嘗試新寫法的報錯經歷)附帶無縫輪播圖程式碼
先上之前的錯誤程式碼吧,注意計時器這個方法(是想把之前寫的的輪播圖演示重構一下) var obj = { sleepTime: 2000,//輪播延時 cont: 0,//第幾張 origin: document.getElementsByClassName('main-
關於js物件中兩個函式互相呼叫,其中一個為定時器宣告,定時器迴圈報錯問題(記錄一次嘗試新寫法的報錯經歷)
先上之前的錯誤程式碼吧(是想把之前寫的的輪播圖demo重構一下) var obj = { sleepTime: 2000,//輪播延時 cont: 0,//第幾張 origin: document.getElementsByClassName('ma
批量讀文件為一個String(一個文件夾下的大量xml文件)
net family lin port title enc window blank bst String folder = "/nasapp/datamerger/xmls/ " ; File file = new File(folder);
CentOS 安裝rz和sz命令 lrzsz(通過Xshell向Linux服務器上傳文件)
到你 dem zmodem .cn ftp linux install 自動 all lrzsz在liunx裏面可代替ftp上傳可下載。 lrzsz是一個unix通信套件提供的X,Y和ZModem文件傳輸協議。 winddows需要向centos服務器上傳文件,可直接
移動端通過ajax上傳圖片(文件)並在前臺展示——通過H5的FormData對象
com 地址 ces 文件 只需要 capture val data als 前些時候遇到移動端需要上傳圖片和視頻的問題,之前一直通過ajax異步的提交數據,所以在尋找通過ajax上傳文件的方法。發現了H5裏新增了一個FormData對象,通過這個對象可以直接綁定html中
編輯器拓展七——不實例化的情況下修改Assets下面的文件
如果 ica 文件 () pan 通過 個數 material spec 描述 1.今天接了個任務,因為公司的項目展示界面的人物與武器都用了standard與standard(specular steup),這個兩個自帶的材質球是帶霧效的,然後收到場景的影響 在ui界面
OpenSUSE Leap 42.3下通過Firefox Opera Chromium瀏覽器直接執行java應用程序(打開java jnlp文件)實現在服務器遠程虛擬控制臺完成遠程管理的方法
build 自定義 1.8 jnl use 信息 server run java應用 遠程虛擬控制臺依賴於java運行環境(jre),在通過瀏覽器打開鏈接前,系統必須安裝jre環境,遠程管理控制臺其實就是一個java程序,打開相應的網站會下載一個jnlp(java網絡加
eclipse創建web項目webapp目錄為空(沒有web.xml文件)、修改web版本號
ati script config dynamic ets pro dev web.xml develop eclipse創建web項目webapp目錄為空(沒有web.xml文件)、修改web版本號 前路坑太多,
python—— 文件的打開模式和文件對象方法 & os、os.path 模塊中關於文件、目錄常用的函數使用方法
fis fish forum mod 工作 tps 使用方法 tid 常用 引用自“魚c工作室” 文件的打開模式和文件對象方法 : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&am
Python3基礎 os.path.dirname 對路徑字符串進行處理 返回所在文件夾的路徑
charm finish 進行 art rate set rules dem 操作 ? python : 3.7.0 OS : Ubuntu 18.04.1 LTS
Java學習不走彎路教程(4.用SQL查詢遠程服務器的文件)
通過 abc buffer [] pri tar red 思路 pen 用SQL查詢遠程服務器的文件 一. 前言 在前上一章教程中,介紹了用SQL查詢本地文件。本章將在上一章的基礎上,進一步擴展程序。 實際的生產環境中,一般查詢的文件都放在遠程的文件或數據服務器上,下面我將
在linux服務器下日誌提取的python腳本(實現輸入開始時間和結束時間打包該時間段內的文件)
number init temp mktime tar -zcvf .py uri 指令 cal 1.需求:近期在提取linux服務器下的日誌文件時總是需要人工去找某個時間段內的日誌文件,很是枯燥乏味,於是乎,我就想著用python結合linux指令來寫一個日誌提取的腳本,
LGame效能改進,並增加TMX地圖支援(0 2 96版)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Phoenix綜述(史上最全Phoenix中文文件)
1. Phoenix定義 Phoenix最早是saleforce的一個開源專案,後來成為Apache基金的頂級專案。 Phoenix是構建在HBase上的一個SQL層,能讓我們用標準的JDBC APIs而不是HBase客戶端APIs來建立表,插入資料和對HBase資料進行查詢。 put
ElasticSearch從入門到精通,史上最全(持續更新,未完待續,每天一點點)
1.ElasticSearch的簡介 ElasticSearch:智慧搜尋,分散式的搜尋引擎 是ELK的一個組成,是一個產品,而且是非常完善的產品,ELK代表的是:E就是ElasticSearch,L就是Logstach,K就是kibana E:EalsticSea
對晶片級別(商品民用/商用、軍工、工業、汽車工業級)的一些理解:
軍工級:由於戰爭環境複雜,其使用的電子器件要足夠的耐操,像導彈、衛星、坦克、航母裡面的電子元器件,任何一個部分拿出來都是最先進的,領先工業級10年,領先商業級20年左右,最貴最精密度的都在軍工級中體現
android selector 背景選擇器的使用, button (未點選,點選,選中保持狀態)效果實現
<ImageButton android:layout_marginRight="15dp" android:background="@null" android:id="@+id/stop"
樹鏈剖分例題(老師文件)
我們的主角是來自魔界,英俊的人類王子阿拉貢。有一天,阿拉貢發現許多想侵入他王國的敵人。正如阿拉貢所知道的那樣,敵人有N個營地離開他的王國,M條邊連線他們。這是保證,對於任何兩個陣營,有一條,只有一條路徑連線它們。起初,阿拉貢人知道每個陣營的敵人數量。但敵人是狡猾的,他們會增加