длина операция была включена в списке suppor неверно, мы приносим извинения за это. SenseNet компилирует эти фильтры для запросов Lucene, и в Lucene невозможно запросить такой запрос, который выполняет операцию на поле.
(остальные методы, как substringof или StartsWith может быть скомпилированы для выражения подстановочного легко, так что должно работать)
К сожалению, «пустое» выражение также не поддерживается Lucene, из-за их документ/структура сроков. Таким образом, следующее выражение не работает либо:
Description eq ''
Редактировать: как обходной путь, разработчики могут создавать пользовательские поле индекса обработчика.
Для каждого поля вы хотите проверить на пустоту (например Описания), вы можете создать техническое скрытое поле Его (IsDescriptionEmpty) в определении типа содержимого. Единственное, что вам нужно создать и определить, это настраиваемый класс обработчика индекса полей. В вашем случае он наследует от встроенного обработчик индекса поля bool, и вы можете вернуть значение логического индекса на основании того, пустое или нет целевое поле (в данном случае описание).
После этого вы сможете определить поисковые exressions как следующее:
+Type:File +IsDescriptionEmpty:true
Пожалуйста, проверьте статью вики ниже и исходный код примеров обработчика индекса.
How to create a field indexhandler
Есть ли другой способ знать, что поле пусто или не пусто в sensenet? –
Привет, я добавил обходной путь для разработчиков в ответ выше: создание настраиваемого обработчика индекса полей. –
Привет, Миклос Спасибо за обновление. –