Ich habe ein Feld, unter einem Typ Unternehmen, in meinem ElasticSearch-Index, der die Technologien erfasst, die das Unternehmen verwendet. So können Leute, die zu unserer Seite kommen, java
, Java
, , .Net
, .net
etc. in das Suchfeld eingeben, um die Firmen zu bekommen.So suchen Sie nach # oder. in Elasticsearch
zunächst indizierte ich dies in dem Standard-Weg und dann konnte ich nicht für .Net
oder C#
suchen, wie es Platzhalter in der Abfrage Suche war. Als ich mit Net
oder C
suchte, gab es Unternehmen zurück, die C
oder C#
verwenden, was wiederum nicht korrekt ist.
Ich habe ein wenig Forschung und änderte die Zuordnung für das Feld zu "index": "not_analyzed"
und neu indiziert die Unternehmen. Jetzt gab es die korrekten Firmen für C#
und .Net
zurück, aber scheiterte in dem Fall, in dem der Suchbegriff nicht genau passierte. So gab es keine Unternehmen mit Java
Technologien, wenn der Suchbegriff java
war, aber es korrekt zurückgegeben, wenn der Suchbegriff java
war. Ich verstehe, dass not_analyzed
erfordert genaue Übereinstimmung
Wie indexiere ich und Abfrage auf dem gleichen Feld, um diese beiden Fälle aussortiert werden?
Das funktioniert. Vielen Dank. –
Schön, froh, dass es geklappt hat! – Val