2016-12-15 1 views
0

Ich habe eine Spalte namens title. Ich möchte diese Spalte durchsuchen. Es gibt kein Problem, wenn ich ein einzelnes Wort wie title:'sport' ODER title:"sport" verwende. Beide geben die gleiche Anzahl von Aufzeichnungen.Wählen Sie Abfrage für die Suche mit 2 oder mehr Wörtern ohne Anführungszeichen in solr

Mein Problem ist, wenn ich mit 2 oder mehr Wörtern ohne doppelte Anführungszeichen suche (mit doppelten Anführungszeichen, die genaues Ergebnis geben ex: title:"sport education").

title:'sport education' - Rückkehr irrelevant Aufzeichnungen (mehr Titel nicht Sport oder Bildung Wort hat)

+title:'sport education' - gibt die gleiche Anzahl von Rekord für die Suche nach title:'sport'/title:"sport".

Was soll ich tun, um zumindest ein Suchwort in der Spalte zu finden?

Hinweis: Solr Version 6.3.0

Vielen Dank im Voraus!

Antwort

1

wette ich, was Sie suchen die folgende Kette von Parametern ist:

http://$solr_host:8983/solr/magazines/select&q=sport+education&df=title&q.op=OR 

Lassen Sie mich es für Sie entschlüsseln:

  • q = Sport + Bildung. Sie können die Abfrage in dieser freien Form verwenden.
  • df = Titel. Hier geben Sie das Standardfeld für die Suche an.
  • q.op = ODER (das ist Standard, fühlen Sie sich frei, es wegzulassen). $q wird nach $df Feldtyp werden in Token aufgeteilt und die Klauseln über OR wie folgt verbunden werden: title:sport OR title:education

Weitere Informationen Sie Common Query Parameters oder Local Parameters in Queries folgen können.

+0

Sieht perfekt aus ... Sehr geschätzt! Aber das funktioniert für eine Spalte. Wie kann ich das für 2 oder 3 Spalten implementieren? – Naga

1

Nach Ihrer Anfrage Parsen title:'sport education' wie dieser

title:sporttext:education Apostroph aussehen wird nicht als doppelte Anführungszeichen arbeiten.

so Begriff education wird in Standard-Feld df (Text, überprüfen Sie es in solr-config-Datei) gesucht

In Schemadatei Sie viele andere Feld in Text kopiert haben könnte mit copyfield, so dass Sie andere Dokumente (Felder erhalten die habe Ausbildung darin)

Sie sollten Feldnamen eingeben, um verschiedene Begriffe in verschiedenen Feldern wie title:sport name:sachin zu suchen.

In Phrase Abfrage mit doppelten Anführungszeichen title:"sport education" gibt dies alle Dokumente mit Titelfeld mit sport education drin.

+0

Vielen Dank für Ihre Zeit und schriftlich Antwort auf mein Problem. – Naga

Verwandte Themen