2017-02-20 4 views
0

Ich habe eine folgende Surround-Abfrage im Solr-Feld Inhalt suchen.Suche mehrere Felder mit Surround Query Parser?

_query_:"{!surround maxBasicQueries=10000} content:5N(tru*,(equi* OR and*)) 

Wie reiche ich eine Abfrage ein, die ODER-verknüpft oder mit mehreren Feldern UND-verknüpft ist. Ist so etwas mit Surround QueryParser möglich? wo ich zwei Felder gleichzeitig suchen kann.

Abfrage: "{! Umgeben maxBasicQueries = 10000} AND (Inhalt: 5N (tru *, (equi * OR und *)), Beispiele: 10N (em *, rit *)) Sie

+0

Was meinst du damit? Etwas wie '5N (Inhalt: tru *, (Inhalt: equi * ODER anderes Feld: und *))' ergibt keinen Sinn (kann nicht innerhalb von fünf Wörtern sein, wenn es in einem ganz anderen Feld ist), also was bist du Auf der Suche nach? – femtoRgon

+0

@femtoRgon aktualisiert die Frage mit einem detaillierten Beispiel, es ist im Grunde meine Notwendigkeit, mehrere Felder in einer Surround-Abfrage zu suchen – Yauza

Antwort

0

Sie können einfach zwei Surround-Abfragen erstellen, eine für jedes Feld, und Sie können sie beliebig kombinieren. Denken Sie daran, dass Sie split parts of queries into separate variables einfacher verwalten können.

Außerdem scheinen Sie Platzhalter für Präfixabfragen zu verwenden. Vielleicht möchten Sie in der Indexierungsphase mit der Verwendung von EdgeNGrams filter nachsehen, wodurch Ihr Index zwar größer wird, die Suche jedoch schneller.