Ich möchte, dass Lucene.NET einen Wert speichert, während eine modifizierte, abgespeckte Version des gespeicherten Wertes indiziert wird. z.B. Betrachten Sie den Wert:Make Lucene einen Wert indexieren und einen anderen speichern
this_example-has some/weird (chars) 100%
ich es richtig so gespeichert werden soll (so dass ich genau, dass in der Ergebnisliste für die Ansicht abrufen kann), aber ich mag lucene zu indizieren als:
this example has some weird chars 100
(Sie sehen, wie eine "sanitized" Version des ursprünglichen Wertes) für eine vereinfachte Suche.
Ich denke, das wäre die Aufgabe eines Analysators, aber ich möchte nicht mit dem Rollen meiner eigenen Verwirrung. Idealerweise sollte die Lösung alles entfernen, was nicht ein Buchstabe, eine Zahl oder ein Anführungszeichen ist, und die entfernten Zeichen vor der Indizierung durch einen Leerraum ersetzen.
Irgendwelche Vorschläge, wie man das umsetzt?
Dies liegt daran, dass ich Produkte für eine E-Commerce-Suche indexieren, und einige haben wirklich gruselige Namen. Ich denke, dies würde die Durchsetzungsfähigkeit der Suche verbessern.
Vielen Dank im Voraus.
Schön, ich wusste nichts über den PerFieldAnalyzer, und es wird sicherlich nützlich sein! Über den Vorschlag, zwei getrennte Felder zu haben, denke ich, dass dies in meinem Fall der richtige Weg sein wird. Vielen Dank! –