2017-02-27 13 views
1

私はelasticsearchからこのドキュメントを読んされています: https://www.elastic.co/guide/en/elasticsearch/reference/1.7/analysis-word-delimiter-tokenfilter.htmlElasticsearchとword_delimiterトークンフィルタ

と同じで、例のためにインターネットを検索して。 残念なことに、ほんの少しの例があったのではなく、ほとんどが機能しません。

elasticsearchでword_delimeterトークンフィルタを使用する方法を投稿したり例を挙げることができれば、本当にありがたいです。

ありがとうございました。

+0

を助け、転置インデックスに格納された値を参照してください。次のクエリ

GET demo/_analyze?analyzer=index_analyzer_v1&text=SH-09 

希望を実行するには、NT、あなたが完了欲しいものを教えすることはできますか? – paqash

+0

こんにちは@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) –

答えて

2

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場合を試してみてくださいこれは

+0

ありがとう@ user3775217。あなたの例は、(1.7.5と5.2.1の両方で)あなたが掲示したサンプル文書に特別に作用します。しかし、{"名前": "みんな"}を追加しようとしましたが、 "ボディ"または "すべて"を検索しましたが、動作しませんでした。私は実際に実際に機能/フラグ "generate_number_parts"を見たいと思っています。しかし、すべての良い人。私は本当にあなたの答えに感謝します。ありがとう=)! –

+0

これはあなたのために働いてうれしいです。ありがとう – user3775217

関連する問題