2016-04-11 25 views
1

Wie schreibe ich eine Abfrage in Solr, die "Start mit" -Funktion ausführt? Zum Beispiel, wenn ich drei Dokumente mit den folgenden Titelfeldern:Solr Abfrage beginnt mit

  1. "Star Wars Episode I"
  2. "Star Wars Episode II"
  3. "Star Trek"
  4. „My Star Wars-Film "

ich möchte die Abfrage zuerst 2 Dokumente zurück, deren Titel beginnt mit "Star Wars"

bearbeiten: Für das Protokoll, ist es das, was ich am Ende mit:

fq=(name:"/Apple Ipad.*/")&wt=xml 

Antwort

7

definieren ‚^‘ als das erste Zeichen eines Suchbegriffs „beginnt mit“ bedeutet.

Definieren Sie '$' als das letzte Zeichen eines Suchbegriffs mit der Bedeutung "Endet mit".

Analysieren Sie Ihren Suchbegriff, indem Sie '^' und '$' entsprechend ersetzen.

können Sie reguläre Ausdrücke verwenden

https://web.archive.org/web/20161030170947/http://www.openjems.com/solr-regex-tutorial/

+0

Von den Link in der Antwort verwiesen: „Beachten Sie, dass im Gegensatz zu Perl, gibt es keine Verankerung Syntax ist (^ und $) in Solr Stattdessen werden alle Solr Regexes sind. Am Anfang mit einem^und am Ende mit einem $ als Standard verankert. Wenn Sie nicht möchten, dass Ihre Suchen verankert werden, müssen Sie. * auf beiden Seiten Ihrer Regex angeben. " –

Verwandte Themen