999 - Elasticsearch Analysis 01

簡介

Analysis在創(chuàng)建索引或搜索時指定骆膝,將文本解析成倒排索引,以供搜索啦撮。

簡單解釋下倒排索引:通常書本的目錄就是正排索引,根據(jù)目錄找章節(jié)汪厨;而倒排索引就是根據(jù)內(nèi)容(例如一個單詞)找所在的章節(jié)赃春。

Analyzer

analyzer,內(nèi)置或自定義劫乱,是一個包含三個構(gòu)建塊(依次為character filters织中,tokenizerstoken filters)的包衷戈。

例如:一個內(nèi)置的english analyzer在轉(zhuǎn)換句子The QUICK brown foxes jumped over the lazy dog!時:

  1. 轉(zhuǎn)為小寫狭吼。
  2. 刪除對搜索無意義的詞元:the(停止詞,stopwords)殖妇。
  3. 歸納詞干刁笙,例如:foxes → fox,jumped → jump谦趣,lazy → lazi疲吸。
  4. 最后添加這些條件到倒排索引中:[quick, brown, fox, jump, over, lazi, dog]。
  5. 當(dāng)查詢時前鹅,可以查詢"a query fox"摘悴,雖然該字符串不在原文本中,但當(dāng)使用了同樣的analyzer時舰绘,該句子中的單詞與倒排索引中的詞元可以匹配上蹂喻。

Character filters

  • 接收字符流,通過添加捂寿、刪除口四、修改字符來轉(zhuǎn)換字符流。
  • 例如從流中去掉<b>這樣的HTML元素秦陋。
  • 可以有0或多個窃祝,按照設(shè)置的順序調(diào)用。

Tokenizer

  • 接收一個字符流,分解為詞元粪小,然后輸出詞元流大磺。
  • 例如,whitespace tokenizer就會把所有的空白符去掉探膊,"Quick brown fox!"就會被分解成詞元:[Quick, brown, fox!]杠愧。
  • 同時Tokenizer負(fù)責(zé)記錄每個詞元的順序或位置,以及原單詞的起始結(jié)束字符偏移量逞壁。
  • 必須而且只能有一個Tokenizer流济。

Token filters

  • 接收詞元流,可以添加腌闯、刪除绳瘟、修改詞元。
  • 例如:lowercase token filter將所有的詞元轉(zhuǎn)為小寫姿骏,stop token filter刪除掉停止詞糖声,synonym toekn filter將引入同義詞到詞元流中。
  • Token filter不可以改變每個詞元的位置或字符偏移量分瘦。
  • 可以有0或多個蘸泻,按照設(shè)置的順序調(diào)用。

測試analyzers

可以在請求體中指定analyzer(或者tokenizer嘲玫、token filter悦施、Character Filter),

GET _analyze
{
  "analyzer": "whitespace", 
  "text": "The quick brown fox."
}

GET _analyze
{
  "analyzer": "english", 
  "text": "The QUICK brown foxes jumped over the lazy dog!"
}

GET _analyze
{
  "tokenizer": "whitespace", 
  "filter": ["lowercase","stop"], 
  "text": "The QUICK brown foxes jumped over the lazy dog!"
}

從上面第二個的返回結(jié)果中可以看到位置和起始結(jié)束字符偏移量

{
  "tokens" : [
    {
      "token" : "quick",
      "start_offset" : 4,
      "end_offset" : 9,
      "type" : "<ALPHANUM>",
      "position" : 1
    },
    {
      "token" : "brown",
      "start_offset" : 10,
      "end_offset" : 15,
      "type" : "<ALPHANUM>",
      "position" : 2
    },
    {
      "token" : "fox",
      "start_offset" : 16,
      "end_offset" : 21,
      "type" : "<ALPHANUM>",
      "position" : 3
    },
    {
      "token" : "jump",
      "start_offset" : 22,
      "end_offset" : 28,
      "type" : "<ALPHANUM>",
      "position" : 4
    },
    {
      "token" : "over",
      "start_offset" : 29,
      "end_offset" : 33,
      "type" : "<ALPHANUM>",
      "position" : 5
    },
    {
      "token" : "lazi",
      "start_offset" : 38,
      "end_offset" : 42,
      "type" : "<ALPHANUM>",
      "position" : 7
    },
    {
      "token" : "dog",
      "start_offset" : 43,
      "end_offset" : 46,
      "type" : "<ALPHANUM>",
      "position" : 8
    }
  ]
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末去团,一起剝皮案震驚了整個濱河市抡诞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌土陪,老刑警劉巖珊随,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件张惹,死亡現(xiàn)場離奇詭異圾笨,居然都是意外死亡然遏,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門取刃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹋肮,“玉大人,你說我怎么就攤上這事璧疗∨鞅纾” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵崩侠,是天一觀的道長漆魔。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么改抡? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任矢炼,我火速辦了婚禮,結(jié)果婚禮上阿纤,老公的妹妹穿的比我還像新娘句灌。我一直安慰自己,他們只是感情好欠拾,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布胰锌。 她就那樣靜靜地躺著,像睡著了一般藐窄。 火紅的嫁衣襯著肌膚如雪资昧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天荆忍,我揣著相機與錄音格带,去河邊找鬼。 笑死东揣,一個胖子當(dāng)著我的面吹牛践惑,可吹牛的內(nèi)容都是我干的腹泌。 我是一名探鬼主播嘶卧,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼凉袱!你這毒婦竟也來了芥吟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤专甩,失蹤者是張志新(化名)和其女友劉穎钟鸵,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涤躲,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡棺耍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了种樱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒙袍。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嫩挤,靈堂內(nèi)的尸體忽然破棺而出害幅,到底是詐尸還是另有隱情,我是刑警寧澤岂昭,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布以现,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏邑遏。R本人自食惡果不足惜佣赖,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望无宿。 院中可真熱鬧茵汰,春花似錦、人聲如沸孽鸡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽彬碱。三九已至豆胸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巷疼,已是汗流浹背晚胡。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嚼沿,地道東北人估盘。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像骡尽,于是被迫代替她去往敵國和親遣妥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在上一篇文章中攀细,我們知道client和ES交互的數(shù)據(jù)格式都是json箫踩,也知道了ES中的index和type的關(guān)系。...
    11舍的華萊士閱讀 3,320評論 0 1
  • 1谭贪、分詞:分詞是將文本轉(zhuǎn)換成一系列單詞的過程境钟,也可以叫文本分析,在ES里面稱為Analysis: 2俭识、分詞器:分詞...
    hellokitty小丸子閱讀 11,635評論 0 9
  • ## 寫在前面 前段時間在實時獲取SQLServer數(shù)據(jù)庫變化時候慨削,整個過程可謂是坎坷。然后就想在這里記錄一下套媚。 ...
    留歌_36閱讀 1,107評論 0 0
  • 倒排索引 正排索引:文檔id到單詞的關(guān)聯(lián)關(guān)系 倒排索引:單詞到文檔id的關(guān)聯(lián)關(guān)系 示例:對以下三個文檔去除停用詞后...
    小旋鋒的簡書閱讀 4,614評論 1 11
  • Analysis【分析缚态,動詞】表示將文本處理轉(zhuǎn)換為一系列短語的過程,這個過程有兩處會用到: 建立倒排索引:數(shù)據(jù)寫入...
    AngryApe閱讀 2,133評論 0 4