Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 3, 2010 17:34:27

Laset
От:
Зарегистрирован: 2009-10-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск через ZCatalog

Есть несколько BTreeFolder, в которых располагаются объекты типа DTML Document и File. есть объект типа ZCatalog, в котором все это дело каталогизируется для осуществления быстрого поиска. Вопрос возник при одновременно поиске по 2-м и более свойствам.
Допустим надо найти все объекты со словом “Документ” в свойстве title и со словом “Описание” в свойстве key_words. В этом случае без проблем:
content({'title': svalue1,'key_words': svalue2}) - где content - это наш ZCatalog; svalue1 - переменная, содержащая первое искомое слово; svalue2 - соответственно второе
А вот как реализовать поиск, при котором ищутся все доки через связующее ИЛИ, то есть: или в свойстве title есть слово “Документ” или в свойстве key_words есть слово “Описание”?



Офлайн

#2 Авг. 4, 2010 10:54:06

crchemist
От:
Зарегистрирован: 2008-07-09
Сообщения: 379
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск через ZCatalog

http://www.dieter.handshake.de/pyprojects/zope/AdvancedQuery.html
While ZCatalog can combine such elementary searches only by “and”, AdvancedQuery allows them to be combined arbitrary with & (and), | (or) and ~ (not).



Отредактировано (Авг. 4, 2010 10:54:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version