Elasticsearch/スキーマ設計
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-Indexやらanalyzerやらmappingやらのお話
#contents
*kibana上での扱い [#n416ac40]
kibanaでは数値型じゃない項目に対して集計をかけることがで...
*analyzer [#pf74e61e]
-analyzerとはtokenizer,filterなどをひとまとまりに定義した...
**tokenizer一覧 [#s54df945]
|standard|一文字だけ|
|edgeNGram||
|nGram||
|simple|スペース区切り|
***NGram Tokenizer [#z09ac1fa]
nGram
-elasticsearch.ymlでbigram設定
# test
# default analayzer(2-gram)
index.analysis.analyzer.default.tokenizer: custom_bigram...
index.analysis.tokenizer.custom_bigram_tokenizer.type: n...
index.analysis.tokenizer.custom_bigram_tokenizer.min_gra...
index.analysis.tokenizer.custom_bigram_tokenizer.max_gra...
index.analysis.tokenizer.custom_bigram_tokenizer.token_c...
index.analysis.tokenizer.custom_bigram_tokenizer.token_c...
index.analysis.tokenizer.custom_bigram_tokenizer.token_c...
***Whitespace Tokenizer [#h88715f1]
空白区切り
***Pattern Tokenizer [#x632eb03]
***Lowercase Tokenizer [#a0a9a109]
Letter Tokenizerの後にLower case Token Filterをかけたもの...
***Letter Tokenizer [#b7c01214]
テキストじゃない部分(空白やらピリオドやら)で分割する。ほ...
***Keyword Tokenizer [#jf6fa0b2]
keywordが全入力を一つの単位として扱う。
|kuromoji|日本語の形態素解析|
**analyzerの挙動確認 [#lab19023]
-インデックスtestのデフォルトアナライザー
curl 'localhost:9200/test/_analyze?pretty' -d 'こんにち...
-アナライザーの指定も可能
curl 'localhost:9200/test/_analyze?pretty=1&analyzer=my_...
*kuromoji徹底調査 [#w3fedca0]
日本語アナライザーであるkuromojiの調査結果。実際に試して...
https://github.com/elastic/elasticsearch-analysis-kuromoj...
**構成要素 [#ke144bad]
kuromoji_tokenizer以外はフィルター。ほぼ全てを組み合わせ...
|kuromoji_tokenizer|通常の形態素解析|
|kuromoji_baseform|動詞形容詞の基本形を解析する|
|kuromoji_part_of_speech|part_of_speechで指定した品詞を除...
|kuromoji_readingform token filter|漢字→ひらがなorローマ字|
**参考サイト [#n3e37910]
+http://christina04.hatenablog.com/entry/2015/02/02/225734
+http://createfield.com/Elasticsearch%E3%81%AE%E3%82%A2%E...
**mapping [#nb72fd6d]
***mappingの基礎 [#bb20cfca]
UserAgentなどの用に空白で区切られた文字列をデフォルトで取...
-フィールドごとに型定義をし、analyzerの設定も行う
"mappings": {
"company": {
"_source": {
"enabled": true
},
"_all": {
"enabled": true,
"analyzer": "kuromoji_analyzer"
},
"properties": {
"id": {
"type": "integer",
"index": "not_analyzed"
},
"name": {
"type": "string",
"index": "analyzed",
"analyzer": "ngram_analyzer"
},
"location": {
"type": "string",
"index": "analyzed",
"analyzer": "kuromoji_analyzer"
}
}
},
"project": {
"_source": {
"enabled": true
},
"_all": {
"enabled": true,
"analyzer": "kuromoji_analyzer"
},
"_parent": {
"type": "company"
},
"properties": {
"id": {
"type": "integer",
"index": "not_analyzed"
},
"title": {
"type": "string",
"index": "analyzed",
"analyzer": "kuromoji_analyzer"
}
}
}
}
*参考サイト [#ac856bab]
+http://engineer.wantedly.com/2014/02/25/elasticsearch-at...
+http://christina04.hatenablog.com/entry/2015/02/02/225734
+https://medium.com/hello-elasticsearch/elasticsearch-833...
#counter
終了行:
-Indexやらanalyzerやらmappingやらのお話
#contents
*kibana上での扱い [#n416ac40]
kibanaでは数値型じゃない項目に対して集計をかけることがで...
*analyzer [#pf74e61e]
-analyzerとはtokenizer,filterなどをひとまとまりに定義した...
**tokenizer一覧 [#s54df945]
|standard|一文字だけ|
|edgeNGram||
|nGram||
|simple|スペース区切り|
***NGram Tokenizer [#z09ac1fa]
nGram
-elasticsearch.ymlでbigram設定
# test
# default analayzer(2-gram)
index.analysis.analyzer.default.tokenizer: custom_bigram...
index.analysis.tokenizer.custom_bigram_tokenizer.type: n...
index.analysis.tokenizer.custom_bigram_tokenizer.min_gra...
index.analysis.tokenizer.custom_bigram_tokenizer.max_gra...
index.analysis.tokenizer.custom_bigram_tokenizer.token_c...
index.analysis.tokenizer.custom_bigram_tokenizer.token_c...
index.analysis.tokenizer.custom_bigram_tokenizer.token_c...
***Whitespace Tokenizer [#h88715f1]
空白区切り
***Pattern Tokenizer [#x632eb03]
***Lowercase Tokenizer [#a0a9a109]
Letter Tokenizerの後にLower case Token Filterをかけたもの...
***Letter Tokenizer [#b7c01214]
テキストじゃない部分(空白やらピリオドやら)で分割する。ほ...
***Keyword Tokenizer [#jf6fa0b2]
keywordが全入力を一つの単位として扱う。
|kuromoji|日本語の形態素解析|
**analyzerの挙動確認 [#lab19023]
-インデックスtestのデフォルトアナライザー
curl 'localhost:9200/test/_analyze?pretty' -d 'こんにち...
-アナライザーの指定も可能
curl 'localhost:9200/test/_analyze?pretty=1&analyzer=my_...
*kuromoji徹底調査 [#w3fedca0]
日本語アナライザーであるkuromojiの調査結果。実際に試して...
https://github.com/elastic/elasticsearch-analysis-kuromoj...
**構成要素 [#ke144bad]
kuromoji_tokenizer以外はフィルター。ほぼ全てを組み合わせ...
|kuromoji_tokenizer|通常の形態素解析|
|kuromoji_baseform|動詞形容詞の基本形を解析する|
|kuromoji_part_of_speech|part_of_speechで指定した品詞を除...
|kuromoji_readingform token filter|漢字→ひらがなorローマ字|
**参考サイト [#n3e37910]
+http://christina04.hatenablog.com/entry/2015/02/02/225734
+http://createfield.com/Elasticsearch%E3%81%AE%E3%82%A2%E...
**mapping [#nb72fd6d]
***mappingの基礎 [#bb20cfca]
UserAgentなどの用に空白で区切られた文字列をデフォルトで取...
-フィールドごとに型定義をし、analyzerの設定も行う
"mappings": {
"company": {
"_source": {
"enabled": true
},
"_all": {
"enabled": true,
"analyzer": "kuromoji_analyzer"
},
"properties": {
"id": {
"type": "integer",
"index": "not_analyzed"
},
"name": {
"type": "string",
"index": "analyzed",
"analyzer": "ngram_analyzer"
},
"location": {
"type": "string",
"index": "analyzed",
"analyzer": "kuromoji_analyzer"
}
}
},
"project": {
"_source": {
"enabled": true
},
"_all": {
"enabled": true,
"analyzer": "kuromoji_analyzer"
},
"_parent": {
"type": "company"
},
"properties": {
"id": {
"type": "integer",
"index": "not_analyzed"
},
"title": {
"type": "string",
"index": "analyzed",
"analyzer": "kuromoji_analyzer"
}
}
}
}
*参考サイト [#ac856bab]
+http://engineer.wantedly.com/2014/02/25/elasticsearch-at...
+http://christina04.hatenablog.com/entry/2015/02/02/225734
+https://medium.com/hello-elasticsearch/elasticsearch-833...
#counter
ページ名: