Соединитель Sharepoint CMIS возвращает документы из всех библиотек при использовании предиката CONTAINS.

Я использую библиотеку OPENCMIS для подключения CMIS-коннектора Sharepoint. После подключения к определенной библиотеке (репозиторий на языке CMIS) пытались получить список документов из этой конкретной библиотеки, которые соответствовали критериям (например, имя = myTestDocument). Он отлично работает со следующим запросом:

выберите * из документа, где cmis:name = 'myTestDocument'

Это нормально, но поскольку критерии будут заполнены пользователем, мы переключаемся на использование предиката CONTAINS, чтобы иметь возможность искать без полного имени (например: Только «Тест» вместо «myTestDocument»). Таким образом, запрос выглядит примерно так:

выберите * из документа, где содержится («Тест»).

Он возвращает документы, соответствующие критериям в библиотеке, а также документы из других библиотек.

Кто-нибудь знает, как обеспечить поиск только в подключенной библиотеке.


person Jeff Boulianne    schedule 01.03.2012    source источник
comment
Можете ли вы рассказать, как вам удалось заставить предикат CONTAINS вообще работать с Sharepoint через CMIS?   -  person Vlad Grichina    schedule 06.08.2012


Ответы (1)


У меня была та же проблема, и я решил ее с помощью функции предиката IN_TREE(), как описано в документации CMIS 1

Результирующий запрос:

выберите * из документа, где содержится («Тест») и IN_TREE (-1)

«-1» обозначает идентификатор корня репозитория (также в документации CMIS).

С уважением,

Джером

person Jerome Simard    schedule 13.03.2012