2017-03-15 1 views
0

Dies ist etwas anders als alle Sonderzeichen aus Eingabe String entfernen. Ich will nur, wie es ist. Zum Beispiel:Solr-Abfrage- Wie alle Sonderzeichen logische Interpretation zu entfernen?

Abfrage: Haha UND LaLa Token versehen als

1. Haha 
2. And 
3. LaLa 

nicht

1. Haha 
2. LaLa 

und mit der gleichen Logik, eine einzige Eingabe von Sonderzeichen wie würde:

`! , . : ; OR NOT < >` 

wäre ... selbst (Nicht logischer Konstruktor und die Abfrage würde das Ergebnis zurückgeben, wenn in der Datenbank ar Solche Namen existieren)

Antwort

1

Sie können Feld oder rohen Abfrageparser verwenden Sie suchen nach der Abfragezeichenfolge, die Sie ohne Analyse oder Umwandlung eingegeben haben.

q = {!field f='title'} Haha AND LaLa 

[Debug-Response-]

<lst name="debug"> 
<str name="rawquerystring">{!field f='title'}Haha AND LaLa</str> 
<str name="querystring">{!field f='title'}Haha AND LaLa</str> 
<str name="parsedquery">title:Haha AND LaLa</str> 
<str name="parsedquery_toString">title:Haha AND LaLa</str> 
<str name="QParser"/> 
</lst> 

Wie Sie aus der Antwort Solr der Suche nach dem Dokument sehen, die "Haha UND LaLa" enthält. Feld Abfrage Parser behandelt "UND" als Suchschlüsselwort nicht als Logischer Operator.

+0

Dies ist nützlich, aber ist über die Abfrageseite. Die Frage war mehr über die Indexseite. Könnten Sie die Antwort aktualisieren, um beide Aspekte zur Verfügung zu stellen, um sie allgemein nützlich zu machen? –

Verwandte Themen