ELK 5.1.1スタックにnewbyがあります。私は理解するためにいくつかの質問があります。 標準的なアナライザー/フィルターで基本的にこのスタックをセットアップしました。 私のデータソースは、Logstashを使用してインデックスを作成するMySQLバックエンドです。 私はアクセントを含む質問に対処したいと思いますし、うまくいけばasciifolding
トークンフィルタがこれを達成するのを助けることができます。ELKアナライザを理解する
まず、カスタムアナライザを作成してテンプレートとして保存する方法を学びました。 logstash
という名前logstashのデフォルトテンプレートと私のカスタムテンプレートの設定は次のとおりです:私はこのURL http://localhost:9200/_template?pretty
を照会するとき は、今私は2つのテンプレート持って、私はYaounde
を検索する70本のヒットを返しますYaoundé
キーワードの検索
"custom_template" : {
"order" : 1,
"template" : "doo*",
"settings" : {
"index" : {
"analysis" : {
"analyzer" : {
"myCustomAnalyzer" : {
"filter" : [
"standard",
"lowercase",
"asciifolding"
],
"tokenizer" : "standard"
}
}
},
"refresh_interval" : "5s"
}
},
"mappings" : { },
"aliases" : { }
}
を私何もヒットしないでください。以下 は、誰かが私が間違ってここにやっているものを推測することができますしてください第二ケース
{
"query": {
"query_string": {
"query": "yaounde",
"fields": [
"title"
]
}
},
"from": 0,
"size": 10
}
のための私のクエリですか? インデックス処理中にLogstashによってデータが分析されることも知っていますが、この2番目のクエリでは、分析中にアナライザmyCustomAnalyzer
を適用する必要がありますか?ここで
{
"query": {
"query_string": {
"query": "yaounde",
"fields": [
"title"
],
"analyzer": "myCustomAnalyzer"
}
},
"from": 0,
"size": 10
}
は出力のサンプルは私のlogstashの設定ファイルの一部である
output {
stdout { codec => json_lines }
if [type] == "announces" {
elasticsearch {
hosts => "localhost:9200"
document_id => "%{job_id}"
index => "dooone"
document_type => "%{type}"
}
} else {
elasticsearch {
hosts => "localhost:9200"
document_id => "%{uid}"
index => "dootwo"
document_type => "%{type}"
}
}
}
フィールドのタイトルにマッピングを追加しましたか?コードサンプルからはっきりとは分かりません。 –
現在、私のフィールドのマッピングは、インデックス作成中にLogstashによって自動的に設定されます。これはあなたの質問@JettroCoenradieに答えますか? – BoCyrill