Wie kann ich eine unscharfe Suche mit django-haystack und dem elasticsearch-Backend durchführen?

8

Es sieht so aus, als ob elasticsearch Fuzzy-Abfragen unterstützt ( Ссылка ), aber ich kann Finde keinen Weg, Django-Heuhaufen in diese Option zu überführen.

Ich habe mich in die Django-Heuhaufen-Suche gegraben und es sieht so aus, als ob sie die "match_all" -Abfrage benutzt, wenn sie das Elasticsearch Backend benutzt. Ist es möglich, das Fuzzy-Match-Verhalten zu erhalten, ohne den Django-Heuhaufen-Quellcode ändern zu müssen?

Heuhaufen Quelle: Ссылка (die Methode build_search_kwargs ist was ich vermute ich muss mich ändern)

    
Dan Goldin 01.08.2013, 17:28
quelle

1 Antwort

6

Sie müssen Heystack nicht neu formatieren. Sie können diese Methode in Ihrem eigenen Backend aktualisieren (weitere Informationen finden Sie unter Stretching) Haystacks ElasticSearch Backend ). Die Methode build_search_kwargs gibt ein Dictionary zurück, so dass Sie nur den ursprünglichen Rückgabewert ändern können.

Haftungsausschluss: Dieser Code ist nur ein Beispiel dafür, wie Sie Ihr eigenes Backend aktualisieren können, nicht wie Sie die unscharfe Suche implementieren.

%Vor%     
bennylope 02.08.2013, 11:50
quelle