es Dynamic mapping的機制和內置analyzers

Dynamic mapping的機制,使得無需手動定義mappings,es會自動根據文檔信息,推算出字段類型,但這也存在不好的地方,無法控制結構。

如果將Dynamic設置爲true,mapping會被更新,如果設置爲false,mapping 不會被更新,但信息會存儲在_source中,

如果設置爲Strict,文檔寫入失敗(strict_dynamic_mapping_exception)

自帶的char_filter:html_strip、mapping、pattern replacement

POST _analyze
{
  "tokenizer": "keyword",
  "char_filter": [
    "html_strip"
  ],
  "text": "<b>golang hello world</b>"
}

自帶的Tokenizers:whitespace、standard、uax_url_email、pattern、keyword、path hierarchy,可以自定義tokenizers

GET _analyze
{
  "tokenizer": "standard",
  "char_filter": [
      {
        "type" : "pattern_replace",
        "pattern" : "http://(.*)",
        "replacement" : "$1"
      }
    ],
    "text" : "http://www.baidu.com"
}

自帶的Token filters:lowercase、stop、synonym

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章