Sphinx Filter - Kann ich ein ‚ODER‘ zwischen Filter-Attribute?
Frage
Ich verwende Sphinx mir einige Artikel aus meiner Datenbank hier aufzulisten.
Es ist fast 100%, ich habe nur noch nicht herausgefunden, wie ein OR
zwischen zwei verschiedenen Filtern zu erstellen. Zum Beispiel:
Ihr Objekt in der Datenbank verfügt über eine Start- und ein Enddatum, kann ich filter(starting_date, x, y)
und filter(ending_date,x,y)
, aber beide Filter müssen return true mich um das Objekt zu bringen, wie kann ich sagen Filter dieses Attribut auf Sphinx, oder dass man?
Lösung
Sphinx verwendet | für oder
wie in „schwarz“ oder „weiß“ wäre „schwarz“ | "Weiß" http://www.sphinxsearch.com/docs/manual- 0.9.9.html # boolean-Syntax
Andere Tipps
Frage gestellt und beantwortet auf die Sphinx Foren.
Nur in 0.9.9, die SetSelect verwendet wird.
Es gibt keine Möglichkeit OR
Logik über verschiedene Attribute in Sphinx zu haben. Normalerweise gibt es zwei mögliche Abhilfen:
- Haben Sie ein Mehrwertattribut mit beiden Sätzen von Werten, die Sie gegen übereinstimmen soll - und Filter auf Arrays von Werten .
- Wenn es die gleiche ODER-Logik ist jedes Mal, es in ein einziges Boolesche Attribut kombinieren, die SQL-Anweisung, die tut die anfängliche harte Arbeit.
Zeitstempel verwenden macht die Sache etwas schwieriger obwohl - MVAs sind nur für ganze Zahlen an dieser Stelle ... sind Sie, nachdem alle Objekte, die zu einem bestimmten Zeitpunkt sind auftreten? Oder etwas anderes?