Die Länge Betrieb war im Preis enthalten verwendet haben in der Liste der Unterstützung ted Methoden falsch, wir entschuldigen uns dafür. SenseNet kompiliert diese Filter zu Lucene Abfragen und es ist nicht möglich, eine solche Abfrage in Lucene zu erstellen, die eine Operation auf einem Feld ausführt.
(die übrigen Methoden, wie substringof oder starts kann leicht zu einem Wildcard-Ausdruck kompiliert werden, so dass funktionieren sollte)
ihre ‚leer‘ Ausdrücke werden auch nicht von Lucene, unterstützt leider wegen Dokument/Termstruktur. So wird der folgende Ausdruck nicht funktioniert entweder:
Description eq ''
bearbeitet: als Behelfslösung, Entwickler Feldindex Handler einen benutzerdefinierten erstellen kann.
Für jedes Feld, das Sie für Leere überprüfen mögen (z Beschreibung), können Sie eine technische versteckt Bool Feld (IsDescriptionEmpty) in der Inhaltstypdefinition erstellen. Das einzige, was Sie erstellen und definieren müssen, ist eine benutzerdefinierte Feldindex-Handler-Klasse. In Ihrem Fall würde es von dem integrierten Bool-Feld-Index-Handler erben und Sie könnten einen booleschen Indexwert zurückgeben, abhängig davon, ob das Zielfeld (in diesem Fall Beschreibung) leer ist oder nicht.
Danach würden Sie in der Lage suchen exressions wie folgt zu definieren:
+Type:File +IsDescriptionEmpty:true
Bitte lesen Sie die Wiki-Artikel unten und den Quellcode für Index-Handler Beispiele.
How to create a field indexhandler
Gibt es eine andere Art und Weise zu wissen, dass das Feld leer oder nicht leer in sensenet ist? –
Hallo, Ich habe eine Umgehung für Entwickler zu der obigen Antwort hinzugefügt: Erstellen eines benutzerdefinierten Feld-Index-Handlers. –
Hallo, Miklos Danke für das Update. –