Elasticversion - 5.2
は、以下のマッピング
PUT demo
{
"settings": {
"analysis": {
"analyzer": {
"index_analyzer_v1" : {
"tokenizer" : "whitespace",
"filter" : [ "word_delimeter"]
}
},
"filter": {
"ngram_filter" : {
"type" : "nGram",
"min_gram": 1,
"max_gram": 10,
"token_chars": [
"letter",
"digit"
]
},
"word_delimeter" : {
"type" : "word_delimiter",
"generate_number_parts" : true,
"catenate_words" : true,
"catenate_numbers": true,
"preserve_original" : true,
"stem_english_possessive": true
},
"stop_words" : {
"type": "stop",
"stopwords": ["and", "is", "the", "we", "in", "are", "was", "were", "of"]
}
}
}
},
"mappings": {
"product": {
"dynamic": "strict",
"properties": {
"name": {
"type": "text",
"analyzer": "index_analyzer_v1"
}
}
}
}
}
インデックス、次の文書
POST demo/product
{
"name":"SH-09"
}
を実行し、次のクエリ
POST demo/_search
{
"query": {"bool": {"must": [
{"term": {
"name": {
"value": "09"
}
}}
]}}
}
Furthurより多くのあなたWA場合を試してみてくださいこれは
を助け、転置インデックスに格納された値を参照してください。次のクエリ
希望を実行するには、NT、あなたが完了欲しいものを教えすることはできますか? – paqash
こんにちは@paqash、私の質問に興味を持っていただきありがとうございます。 user3775217は非常に有用な以下の良い例を提供しました。しかし、** {"name": "everybody"}というテキストを持つ文書を挿入すると、 "** every every **"や "* every"という文字列を検索すると、 * body ** "、結果は少なくともその文書になります。基本的に私はelasticsearch機能 "** generate_word_parts **"の実際の動作を見たいと思っていました。私は以前に投稿した同様の質問です:[link](http://stackoverflow.com/questions/42336347/elasticsearch-token-filter-word-delimiter-and-generate-word-parts) –