wie die Suche nach nicht verfügbaren Werten gefiltert wird

8

Ich habe eine Liste von Elementen wie:

%Vor%

Nun hat jedes Element in i ein Attribut, price

Ich möchte das Ergebnis einschränken, bei dem die Preisinformationen nicht verfügbar sind zusammen mit denen, die in einen bestimmten Bereich fallen

etwas wie

%Vor%

Wie kann das gemacht werden?

    
Peter Rasmussen 11.06.2013, 12:55
quelle

5 Antworten

6

Versuchen Sie Folgendes:

%Vor%

ist logisch gleich und funktioniert in Solr.

    
Maurizio In denmark 20.06.2013, 10:50
quelle
5

Wie in der SolrQuerySyntax

Reine negative Abfragen: -

  

-field: [* TO *] findet alle Dokumente ohne Wert für Feld

Sie können versuchen: - q=(*:* -price:[* TO *]) OR price:[300 TO 400]

    
Jayendra 11.06.2013 13:17
quelle
0

Das Ziel war es, einige Items nach Score zu sortieren, basierend auf einem Boosting nach Typ und plus, wenn ein Typ: bike Item ein Bild hat. Das Ergebnis sollte sein:

  1. Autos
  2. Boote
  3. Fahrräder mit einem Bild
  4. Fahrräder ohne Bild

Dies war mein erster Abfrageansatz: type:"car"^10000 OR type:"boat"^5000 OR (type:"bike" AND image-type:[* TO *])^100 OR type:"bike"^5 (funktioniert gut)

Aber ich habe alte Daten ohne das Type-Feld vergessen. Das sollte in der Ergebnismenge wie folgt aussehen:

  1. Autos
  2. Boote
  3. Fahrräder mit einem Bild
  4. Fahrräder ohne Bild
  5. Alle Elemente ohne Typ

Also habe ich meine Abfrage in -type:[* TO *] OR type:"car"^10000 OR type:"boat"^5000 OR (type:"bike" AND image-type:[* TO *])^100 OR type:"bike"^5 geändert und endete ohne Ergebnisse.

Also habe ich diesen Thread gefunden und versucht, meine Anfrage in -(type:[* TO *] OR -type:"car"^10000 OR -type:"boat"^5000 OR -(type:"bike" AND image-type:[* TO *])^100 OR -type:"bike"^5 ) zu ändern, wie in dieser Antwort gezeigt Ссылка

Aber leider haben alle Gegenstände die gleiche Punktzahl: (

    
surfi 08.11.2016 14:22
quelle
0

Die von Maurizio vorgeschlagene doppelt negierte Abfrage kann zu einem Fehler führen:

%Vor%

(Auch nach Neuindexierung. Dies kann etwas mit den Einstellungen index und store und docvalues des Feldes zu tun haben.)

Was Sie stattdessen tun könnten, ist, dass beide Bereiche (davor und danach) der Werte, für die Sie sich eigentlich interessieren, ausgenommen sind:

%Vor%

Beachten Sie, dass die Werte 300 und 400 durch geschweifte Klammern in dieser negierten Abfrage ausgeschlossen werden und daher in den Suchergebnissen enthalten sind.

    
Jack Miller 30.10.2017 06:49
quelle
-1

Man kann filter query verwenden, wenn es Ihnen nicht wichtig ist, den Dokumenten-Score zu verwenden und den Filter-Cache zu nutzen, wie zum Beispiel:

%Vor%     
Ion Cojocaru 19.06.2013 07:57
quelle