Wir haben eine azurblaue Webanwendung, in der es ein Suchfeld gibt, wenn wir Text mit doppelten Anführungszeichen wie "App Service" eingeben, Datensätze mit "App Service" auflisten, aber auch Datensätze mit speziellen Zeichen zwischen den Wörtern wie "App/Service". Wir möchten, dass die Suchmaschine Datensätze zurückgibt, die exakt mit der Suchphrase übereinstimmen (keine Datensätze mit Sonderzeichen zwischen den Suchbegriffen enthalten).Azure Suche, genaue Wortgruppe
Antwort
In diesem Szenario möchten Sie den gesamten Inhalt eines Felds als einzelnes Token indizieren. Sehen Sie sich insbesondere Custom Analyzers in Azure Search und den Analysator keyword
an.
In Ihrem Fall der standard
Analysator bricht den Begriff App/Dienstleistung in zwei einzelne Begriffe App und Service während der Indexierung. Deshalb entspricht der Ausdruck "App Service" dem Dokument mit App/Service - beide Versionen sehen für die Suchmaschine gleich aus.
Wenn der Begriff App/Service den gesamten Inhalt eines Felds darstellt, können Sie den Inhalt dieses Felds als einzelnes Token mithilfe des Analysators keyword
indizieren. Erfahren Sie mehr hier: Custom Analyzers in Azure Search.
Der keyword
Analysator wird keine gute Option sein, wenn der Begriff App/Service als Teil eines Satzes auftritt. In diesem Fall können Sie das Zeichen /
durch ein anderes Zeichen ersetzen, das der Tokenizer standard
nicht teilt, zum Beispiel: _
. Verwenden Sie das mappping
Zeichen Token-Filter für das:
charFilters: [
{
"name":"map_char_mapping",
"@odata.type":"#Microsoft.Azure.Search.MappingCharFilter",
"mappings":[ "/=>_" ]
}
]
Der folgende Beitrag wird Ihnen helfen zu verstehen, wie lexikalische Analysatoren bei Such- und Indizierungszeit angewendet werden: How to practially use a keywordanalyzer in azure-search?
- 1. Sphinx Suche genaue Übereinstimmung
- 2. Ich suche eine genaue Nummer
- 3. PowerShell-Suche Excel-Dokument für genaue Übereinstimmung
- 4. MySQL DB Suche mit partieller genaue mathematische
- 5. Wie man genaue Suche in Datenbank
- 6. smartsheet api genaue Übereinstimmung während der Suche
- 7. Solr genaue Suche ignorieren doppelte Phrase
- 8. NLTK Wordnet Synset für Wortgruppe
- 9. Azure-Suche herunterskalieren/aussetzen
- 10. Suche Facetten mit Werten mit Azure-Suche
- 11. Azure Search Index - Suche nach genauem Wort
- 12. Azure Suche Min Max Werte
- 13. Azure Suche Indexer mit Fehlermeldung
- 14. Azure Suche mit mehreren Indizes
- 15. Synonym Unterstützung für Azure Suche
- 16. elasticsearch Boost Wichtigkeit der exakten Wortgruppe
- 17. Erstellen Muster eine genaue Zahl in Java für die Suche
- 18. MongoDB Suche: genaue Übereinstimmung und diakritische Unempfindlichkeit (vermeiden tokenizer)
- 19. Wie finde ich eine genaue Zahl mit SharePoint-Suche
- 20. Django Haystack genaue Filterung
- 21. Intelligente Suche nach Namen in Azure Suchen
- 22. Verwenden der Azure-Suche mit DocumentDB
- 23. Azure Suche Entfernung Filter mit variablem Abstand
- 24. Azure DocumentDB, Suche im Wörterbuch mit LINQ
- 25. Azure-Suche, Löschen von Titeln funktioniert nicht
- 26. Suche mit mehreren Sprachen auf Azure Search
- 27. Azure Suche Eltern und Kind Datensätze zurückgeben
- 28. Suche Bing über Azure API mit Python
- 29. Azure Suche mit Lucene und Filter
- 30. Azure Suche: flache Daten von Collection (Edm.String)
Hallo @Eugene, vielen Dank für die Beantwortung, nicht da ist eine Möglichkeit, Datensätze mit Sonderzeichen zwischen ihnen zu ignorieren, benutzerdefinierte Analysator scheint nicht möglich sein. – harshu288