2017-11-02 2 views
0

ich ein Dokument in Elasticsearchwelche Elasticsearch Abfrage benötigt, um den Teil des ganzen Wortes

{"uuid":"eaa91372-d541-4b24-bdf4-3cb4902d2da1","artistName":"Amadeo Modigliani","Review":"abc","Origin":"pak","isNew":"false"} 

müssen sucht ich match query in meinem Code bin mit dem Dokument erhalten es die richtigen Ergebnisse ist die Rückkehr auf Suchwert benötigt Geben Bsp .: "Amadeo Modigliani", oder "Amadeo" oder aber wenn ich "Amad" passiere, fand nur ES das Dokument nicht, bitte schlagen Sie vor, wenn es irgendeine andere Frage gibt, die die Suche mit diesem scanerio durchführt, oder gibt es irgendeine andere Weise, diese Aufgabe auszuführen, Danke

+0

I scheint, dass Sie die Partial Matching-Funktion von Elasticsearch beschreiben. Ist es wahr? –

+0

ja bitte erklären Sie es vielleicht wird es mein Problem zu lösen – swaheed

+0

Ich möchte diese Funktion in Suche api – swaheed

Antwort

0

Sie beschreiben die teilweise übereinstimmende Funktion von Elastic Search. Teilweise Übereinstimmung ermöglicht es, einen Teil eines Wortes anzugeben, nach dem der Benutzer sucht. Es findet alle Wörter, die diesen Teil enthalten.

In Ihrem Fall könnte die Minimum sollte entsprechen könnte Ihr Problem lösen. Es ist ein Parameter, der mit der Übereinstimmungsabfragefunktion (dem minimum_should_match-Parameter) geliefert wird und mit Werten konfiguriert werden kann, abhängig davon, wie diese Funktion funktionieren soll.

Unten ist ein Beispiel für die Verwendung dieses Parameters:

QueryBuilder qb = QueryBuilders 
    .boolQuery() 
    .must(termQuery("component", currentComponent)) 
    .should(termQuery("userId", currentUserId)) 
    .should(termQuery("customerId", currentCustomerId)) 
    .should(termQuery("currentRole", ADMIN)) 
    .minimumShouldMatch("2"); // or .minimumNumberShouldMatch(1) 

Sie unter den entsprechenden Informationen zu diesen Konzepten finden.

Match Query
Minimum Should Match

Verwandte Themen