2013-08-08 27 views
7

Mam problemy z wdrożeniem FLT w prototypowym systemie ES, który buduję. Zerknąłem na dokumentację na stronie Elasticsearch i chociaż tam jest, wydaje mi się, że to nie działa. Być może ktoś może mi dać trochę wgląd w to, jak to zrobić.Fuzzy Like This (FLT) - ElasticSearch

Nie mogę znaleźć przykładów takich działań w internecie, ale być może moje umiejętności Google nie są dziś do zera. To, co udało mi się skonstruować tak daleko -

$ curl -XGET 'http://127.0.0.1:9200/uber/uber/_search?' -d '{ 
    "fuzzy_like_this": { 
    "fields": [ 
     "pty_firstname", 
     "pty_surname" 
    ], 
    "like_text": "Nathan Andew", 
    "max_query_terms": 12 
    } 
}' 

Oto komunikat błędu otrzymuję od mojego wiersza po wysłaniu żądania -

{ 
    "error":"SearchPhaseExecutionException[Failed to execute phase [query], total failure; 
      shardFailures {[u9HfJxbXRn-8ml19FKBTiA][uber][2]: SearchParseException[[uber][2]: from[-1],size[-1]: 
      Parse Failure [Failed to parse source [ 
       { 
       "fuzzy_like_this": { 
       "fields": [ 
        "pty_firstname", 
        "pty_surname" 
       ], 
       "like_text": "Nathan Andew", 
       "max_query_terms": 12 
       } 
       } 
      ]]]; nested: SearchParseException[[uber][2]: from[-1],size[-1]: 
      Parse Failure [No parser for element [fuzzy_like_this]]]; }{[u9HfJxbXRn-8ml19FKBTiA][uber][0]: 
      SearchParseException[[uber][0]: from[-1],size[-1]: 
      Parse Failure [Failed to parse source [ 
       { 
       "fuzzy_like_this": { 
       "fields": [ 
        "pty_firstname", 
        "pty_surname" 
       ], 
       "like_text": "Nathan Andew", 
       "max_query_terms": 12 
       } 
       } 
      ]]]; nested: SearchParseException[[uber][0]: from[-1],size[-1]: 
      Parse Failure [No parser for element [fuzzy_like_this]]]; }]", 
    "status":500 
} 

Odpowiedz

15

myślę, że brakuje część z zapytaniem: część, musisz zrobić coś w stylu:

$ curl -XPOST 'http://127.0.0.1:9200/uber/uber/_search?' -d ' 
{ 
    "query" : { 
    "fuzzy_like_this" : { 
     "fields" : ["pty_firstname", "pty_surname"], 
     "like_text" : "Nathan Andew", 
     "max_query_terms" : 12 
    } 
    } 
}' 
+1

Dziękuję bardzo za sugestię, jeśli to zadziała, będę się czuł głupi. Poprawię się, gdy zobaczę to później. – Nate

+0

Po prostu zastosowałeś zmianę i to wystarczyło. – Nate