1. 程式人生 > >ElasticSearch 解析機制常見用法庫 之 Tokenizer常用用法

ElasticSearch 解析機制常見用法庫 之 Tokenizer常用用法

Tokenizer 譯作:“分詞”,可以說是ElasticSearch Analysis機制中最重要的部分。

standard tokenizer

標準型別的tokenizer對歐洲語言非常友好, 支援Unicode。

如下是設定:

設定 說明

max_token_length

最大的token集合,即經過tokenizer過後得到的結果集的最大值。如果token的長度超過了設定的長度,將會繼續分,預設255

Edge NGram tokenizer

一個名字為 edgeNGram.的分詞。

這個分詞和 nGram 非常的類似。但是隻是相當於 n-grams 的分詞的方式,只保留了“從頭至尾”的分詞。

以下是 edgeNGram 分詞的設定:

設定 說明 Default value

min_gram

分詞後詞語的最小長度

1.

max_gram

分詞後詞語的最大長度

2.

token_chars          

 設定分詞的形式,例如,是數字還是文字。elasticsearch將根據分詞的形式對文字進行分詞。

[] (Keep all characters)

token_chars 所接受的以下形式:

letter

單詞,字母 abï or 

digit

數字3 or 7

whitespace

例如 " " or "\n"

punctuation

例如 ! or "

symbol

例如 $ or 

例子:
Keyword Tokenizer

 keyword  型別的tokenizer 是將一整塊的輸入資料作為一個單獨的分詞。

以下是 keyword tokenizer 的型別:

設定 說明

buffer_size

term buffer 的大小. 預設是 to 256.

Letter Tokenizer 一個  letter 型別的tokenizer分詞是在非字母的環境中將資料分開。也就是說,這個分詞的結果可以是一整塊的的連續的資料內容
 .注意, 這個分詞對歐洲的語言非常的友好,但是對亞洲語言十分不友好。
Lowercase Tokenizer 一個 lowercase 型別的分詞器可以看做Letter Tokenizer分詞和Lower case Token Filter的結合體。即先用Letter Tokenizer分詞,然後再把分詞結果全部換成小寫格式。

NGram Tokenizer

一個nGram.型別的分詞器。

以下是 nGram tokenizer  的設定:

設定 說明 預設值

min_gram

   分詞後詞語的最小長度

1.

max_gram

   分詞後資料的最大長度

2.

token_chars 

    設定分詞的形式,例如數字還是文字。elasticsearch將根據分詞的形式對文字進行分詞。

[] (Keep all characters)

token_chars 所接受以下的形式:

letter 

例如 abï or 

digit

例如3 or 7

whitespace

例如 " " or "\n"

punctuation

例如 ! or "

symbol 

例如 $ or 

例子:

Whitespace Tokenizer

whitespace 型別的分詞將文字通過空格進行分詞。

Pattern Tokenizer

一個 pattern型別的分詞可以利用正則表示式進行分詞。 

設定 說明

pattern

正則表示式的pattern,預設是 \W+.

flags

正則表示式的 flags.

group

哪個group去抽取資料。 預設是 to -1 (split).

IMPORTANT: 正則表示式應該和 token separators相匹配, 而不是 tokens 它們本身.

使用elasticsearch 不同語言的API 介面時,不必care字元轉譯問題。

group 設定為-1 (預設情況下) 等價於"split"。wwwUsing group >= 0 selects the matching group as the token. For example, if you have:

pattern = '([^']+)'
group   = 0
input   = aaa 'bbb' 'ccc'

the output will be two tokens: 'bbb' and 'ccc' (including the ' marks). With the same input but using group=1, the output would be: bbb and ccc (no 

相關推薦

ElasticSearch 解析機制常見用法 Tokenizer常用用法

Tokenizer 譯作:“分詞”,可以說是ElasticSearch Analysis機制中最重要的部分。 standard tokenizer 標準型別的tokenizer對歐洲語言非常友好, 支援Unicode。 如下是設定: 設定 說明 max_t

ElasticSearch 解析機制常見用法 Character Filters常用用法

以下三種Character Filter是elasticsearch官方提供的三種,(只有三種哦!) Mapping Char Filter 通過給定的mappings資料來替換. mappings mappings資料. mappings_path

BoostFormat的用法

今天在看程式碼的時候發現用到了Boost format,之前沒有接觸過,就百度了一下,然後就做個筆記了,下次備用。        Boost庫是一個可移植的、提供原始碼的c++庫,是作為c++標準庫的後備。Boost::format可以看成是Boost庫中的一個字串格式化庫

Java8新特性Lambda表示式解析及其常見用法

Lambda表示式是Java8更新的一大新特性,與同期更新的Stream是此版本的最大亮點。 “這是你從來沒有玩過的全新版本” —– 扎扎輝 -> 舉個栗子 : 建立一個執行緒 //old Thread thread1 = new Thread(

【Java學習筆記二十二】解析接口在Java繼承中的用法及實例分析

ani 復制代碼 ads compute 現在 target body 常量 實現接口 一、定義 Java接口(Interface),是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具

mysql數據 BETWEEN 語法的用法和邊界值解析

not src 之間 ont 技術 cnblogs http 結果 spa between用法:   用於where表達式中,選取兩個值之間的數據,如: 1 SELECT id FROM user WHERE id BETWEEN value1 AND value2;

93、解析re,Beautifulsoup

結果 基本 strip 輸出 父親 pytho 叠代器 next pan 本篇導航: 介紹 基本使用 遍歷文檔樹 搜索文檔樹 總結 re模塊在之前的python進階中有講過不再做過多的闡述,本篇為BeautifulSoup庫的分析 20、collections模

python路_day107_django中url反向解析及數據連接

rom 連接 遷移 data spa mysq height port ack 一、url反向解析   在正式介紹反向解析之前,我們首先介紹一下在django中的url參數,如下為我們url實例,其中name參數就是其別名,也就是我們接下來講解的反向解析中所依靠的參數。

大數據筆記(十三)——常見的NoSQL數據HBase數據(A)

list tar regions info max script 參數 .tar.gz ges 一.HBase的表結構和體系結構   1.HBase的表結構   把所有的數據存到一張表中。通過犧牲表空間,換取良好的性能。   HBase的列以列族的形式存在。每一個列族包括若

Python爬蟲【解析beautifulsoup】

close **kwargs contents pip and lac 代碼 ide num 解析庫的安裝 pip3 install beautifulsoup4 初始化 BeautifulSoup(str,"解析庫") from bs4 import B

ES6新特性模組Module用法解析

這篇文章主要介紹了ES6新特性之模組Module用法,簡要說明了模組Module的概念、功能並結合例項形式分析了模組Module的使用方法與相關注意事項,需要的朋友可以參考下 ##一、Module簡介 ES6的Class只是面向物件程式設計的語法糖,升級了ES5的建構函式的原型鏈繼承的寫法

es6class 基本用法解析

javaScript 語言中,生成例項物件的傳統方法是通過建構函式,與傳統的面嚮物件語言(比如 C++ 和 Java)差異很大,ES6 提供了更接近傳統語言的寫法,引入了 class(類)這個概念,作為物件的模板。通過class關鍵字,可以定義類。 es6 class 與es5的面向物件的區別: 寫法不同,

python3標準解析模組——dis module

一、位元組碼 1、位元組碼是什麼。 python的原始檔是以.py結尾的,不知你是否見過或者聽說過以.pyc結尾的檔案,它儲存在__pycache__的資料夾中,這就是位元組碼。 2、位元組碼存在的作用。 python是解釋性語言,它在執行時將原始碼編譯成一組虛擬機器

解析re模組

一:什麼是正則?  正則就是用一些具有特殊含義的符號組合到一起(稱為正則表示式)來描述字元或者字串的方法。或者說:正則就是用來描述一類事物的規則。(在Python中)它內嵌在Python中,並通過 re 模組實現。正則表示式模式被編譯成一系列的位元組碼,然後由用 C 編寫的匹配引擎執行。  

解析beautifulsoup模組

一 介紹 Beautiful Soup 是一個可以從HTML或XML檔案中提取資料的Python庫.它能夠通過你喜歡的轉換器實現文件導航,查詢,修改文件的方式,Beautiful Soup會幫你節省數小時甚至數天的工作時間,你可能在尋找 Beautiful Soup3 的文件,

scrapy解析Xpath( Selectors)

#1 //與/ #2 text #3、extract與extract_first:從selector物件中解出內容 #4、屬性:xpath的屬性加字首@ #4、巢狀查詢 #5、設定預設值 #4、按照屬性查詢 #5、按照屬性模糊查詢 #6、正則表示式 #7、xpath相對路徑 #8、帶變數的xpath

利用反射機制獲得非靜態內部類getConstructor的用法探索

 來源: http://blog.163.com/[email protected]/blog/static/161553399201291311119821/ 提問關於反射機制拿到內部類的構造方法的問題。總結一下個人學習新東西的過程。  import java.

JSON解析Fastjson(1) --- Fastjson類學習, 生成與解析json資料,json字串與Java物件互轉

JSON解析類庫之Fastjson(1) --- Fastjson基礎知識、簡單JavaBean與複雜Bean物件與JSON互轉 -- Fastjson類庫學習, 生成與解析json資料,json

Java進階FutureTask的用法解析

1 FutureTask概念 FutureTask一個可取消的非同步計算,FutureTask 實現了Future的基本方法,提空 start cancel 操作,可以查詢計算是否已經完成,並且可以獲取計算的結果。結果只可以在計算完成之後獲取,get方法會阻塞

ci高階用法連線多個數據

在我們的專案中有時可能需要連線不止一個數據庫,在ci中如何實現呢? 我們在本地新建了兩個資料庫,如下截圖所示: 修改配置檔案database.php檔案為如下格式(讀者根據自己資料庫的情況修改相應引數的配置): <?php defined('BASEPATH')