2016-07-21 13 views
0

Ich benutze ES Version 1.7.Elasticsearch: warum ist mehr-wie-dies mit "ids" anders als "like_text"

Ich habe einige Artikel und ich versuche ähnliche Artikel basierend auf ihrem Titel zu finden. Mein Feld „Titel“ sieht wie folgt aus:

"title": { "type": "string", "store": true, "term_vector": "with_positions_offsets", "analyzer": "snowball" }

sagen lassen, dass Artikel-ID = 1 Titel „Persistent Verkrampfung“ und Artikel-ID = 2 hat den Titel „Ich werde Krämpfen die ganze Zeit“ hat.

Wenn ich die folgenden mehr-like-diese Abfrage gegen Artikel-ID tun = 1, erhalte ich eine Partie:

{ "query": { "mlt": { "fields": ["title"], "like_text": "I get cramping all the time", "min_term_freq": 1, "min_doc_freq": 1 } } }

Wenn ich jedoch die "ids" Feld stattdessen verwenden, I don‘ t erhalten ein Spiel:

{ "query": { "mlt": { "fields": ["title"], "ids": [2], "min_term_freq": 1, "min_doc_freq": 1 } } }

Irgendwelche Ideen von dem, was geschieht, könnte?

Antwort

0

Ich habe herausgefunden, was das Problem war (ziemlich albern, wirklich).

Die Dokument-ID 2 war nicht vorhanden und lieferte daher "zufällige" Übereinstimmungen.