2015-05-25 2 views
0

Как я могу выполнить NGramPhraseQuery с помощью поиска Elasticsearch.NGramPhraseQuery с использованием Elasticsearch

+0

Ваш вопрос слишком расплывчатый. Пожалуйста, объясните вашу точную проблему и то, что вы пробовали, поэтому мы можем вам помочь. – Val

+0

Я использовал фразовое соответствие в эластичном поиске, но на самом деле я хочу выполнить NGramPhraseQuery, который доступен в версии lucene версии 3.5.Is NGramPhraseQuery доступен в эластичном поиске? – USER007

+0

http://stackoverflow.com/questions/29635635/elasticsearch-query-issue-with-ngram это вам поможет? – Rob

ответ

0

Пожалуйста, расскажите, что именно вы хотите знать? Я думаю, вы с нетерпением ждем использования анализатора Ngram в Elasticsearch.

Step1.Положите ваш анализатор на уважаемый индекс.

curl -XPUT 'localhost:9200/test' -d ' 
{ 
    "settings" : { 
     "analysis" : { 
      "analyzer" : { 
       "my_ngram_analyzer" : { 
        "tokenizer" : "my_ngram_tokenizer" 
       } 
      }, 
      "tokenizer" : { 
       "my_ngram_tokenizer" : { 
        "type" : "nGram", 
        "min_gram" : "2", 
        "max_gram" : "3", 
        "token_chars": [ "letter", "digit" ] 
       } 
      } 
     } 
    } 
}' 

curl 'localhost:9200/test/_analyze?  pretty=1&analyzer=my_ngram_analyzer' -d 'FC Schalke 04' 
     # FC, Sc, Sch, ch, cha, ha, hal, al, alk, lk, lke, ke, 04 

Это нарушит ваш текст при условии min_gram & max_gram.In этом случае это 2,3 соответственно.

Смежные вопросы