2016-04-06 13 views
1

Ich habe einen Solr-Index mit einem mehrwertigen Feld, nennen wir es mvfield. Es kann beliebige Werte enthalten, obwohl es sich momentan um eine endliche Menge von Werten handelt.Wie kann ich ein mehrwertiges Feld für Werte ausschließlich suchen

Ich möchte Dokumente finden, die nur bestimmte Werte in diesem Feld enthalten. Beispiel:

  • doc1: mvfield = [a, b, c, d, e, f]
  • doc2: mvfield = [e, f]
  • doc3: mvfield = [f]
  • doc4: mvfield = [a, b, c, e, f]
  • doc5: mvfield = [e]

Ich möchte eine Abfrage erstellen, die Dokumente, die nur e oder f in mvfield, so in diesem Beispiel enthalten gibt es sollte doc2, doc3 geben und doc5.

fand ich eine grobe Abhilfe mit Bereichen:

  • -mvfield:[* to e} AND -mvfield:{e TO f} AND -mvfield:{f TO *]

aber es scheint sehr zerbrechlich. Gibt es einen besseren Weg, dies zu tun?

Antwort

0

Warum nicht einfach eine Filterabfrage verwenden.

&fq=myfield:e und so weiter.

Verwandte Themen