ありがとう@Random、私は以下のようにマッピングを変更しました。テストのために私は索引付けのための私のタイプとして "映画"を使用しました。 注:search_analyzerも追加しました。私はそれがなければ適切な結果を得ていませんでした。 しかし、私はsearch_analyzerの使用に次の疑問があります。ElasticSearch:インデックス作成中にnグラムと言語アナライザの両方を適用できますか
1]言語アナライザの場合、カスタムsearch_analyzerを使用できますか?
2]私はn-gramアナライザのためにすべての結果を得ていますが、これは英語のアナライザに起因するものではありません。
{
"settings": {
"analysis": {
"analyzer": {
"english_ngram": {
"type": "custom",
"filter": [
"english_possessive_stemmer",
"lowercase",
"english_stop",
"english_stemmer",
"ngram_filter"
],
"tokenizer": "whitespace"
},
"search_analyzer":{
"type": "custom",
"tokenizer": "whitespace",
"filter": "lowercase"
}
},
"filter": {
"english_stop": {
"type": "stop"
},
"english_stemmer": {
"type": "stemmer",
"language": "english"
},
"english_possessive_stemmer": {
"type": "stemmer",
"language": "possessive_english"
},
"ngram_filter": {
"type": "ngram",
"min_gram": 1,
"max_gram": 25
}
}
}
},
"mappings": {
"movie": {
"properties": {
"title": {
"type": "string",
"fields": {
"en": {
"type": "string",
"analyzer": "english_ngram",
"search_analyzer": "search_analyzer"
}
}
}
}
}
}
}
更新:検索・アナライザを使用して
もconsistently.andに動作していないが、私の所見とthis.Updating質問でより多くの助けを必要としています。
私は以下のマッピングを示唆しています(注:このマッピングは検索アナライザを使用しません)。
{
"settings": {
"analysis": {
"analyzer": {
"english_ngram": {
"type": "custom",
"filter": [
"english_possessive_stemmer",
"lowercase",
"english_stop",
"english_stemmer",
"ngram_filter"
],
"tokenizer": "standard"
}
},
"filter": {
"english_stop": {
"type": "stop"
},
"english_stemmer": {
"type": "stemmer",
"language": "english"
},
"english_possessive_stemmer": {
"type": "stemmer",
"language": "possessive_english"
},
"ngram_filter": {
"type": "edge_ngram",
"min_gram": 1,
"max_gram": 25
}
}
}
}
}
作成したインデックス:
PUT http://localhost:9200/movies/movie/1
{"title":"[email protected] movie"}
クエリ以下しようとしました:
GET http://localhost:9200/movies/movie/_search
{
"query": {
"multi_match": {
"query": "$peci mov",
"fields": ["title"],
"operator": "and"
}
}
}
}
が、私はこのための結果を得ていない、私は何も悪いことをやっていますか? 私はのために結果を取得しようとしています:
1] Special characters
2] Partial matches
3] Space separated partial and full words
おかげで再び!
どうもありがとうランダム、あなたの答えは本当に役立ちます、しかし私は、このためのいくつかの疑問を持って、私は再び私の質問を改訂している、あなたは助けてくださいできますか? – SSG
'search_analyzer'が元のものよりも優れた動作をする例を教えてください。ところで、元の回答をそのまま残しておき、修正が加えられた「更新」セクションを追加するか、別の質問をしてもよいでしょう。そうでなければ混乱を招くからです。 – Random
こんにちは!遅い応答の申し訳ありませんが、search_analyzerを使用しているように見えますも一貫して動作していません、私は更新セクションで私の質問を更新しました。 – SSG