Как сделать каталог RichTextValue полнотекстовым поиском для Plone 4 - PullRequest
1 голос
/ 12 апреля 2011

Я создал тип контента ловкости с помощью Rich Text Field - «основной текст». Я хотел бы сделать полнотекстовый поиск "основной текст" для моего Plone 4.0.2.

Я добавил catalog.xml в мою тему, код ниже

Я получил сообщение об ошибке из ZMI / portal / portal_catalog "body_text RichTextValue object. (Вы имели в виду .raw или .output?)"

Как я могу изменить catalog.xml для использования .output, я пробовал, но это не работает.

Спасибо.

Ответы [ 3 ]

7 голосов
/ 12 апреля 2011

Вы можете использовать plone.indexer и предоставить свой собственный индексатор внутри вашего типа ловкости, чтобы добавить свой собственный основной текст в индекс SearchableText (включая заголовок и описание по умолчанию, например), например:

@indexer(IMyTypeInterface)
def SearchableText(obj):
    return ' '.join([obj.Title(), obj.Description(), obj.bodytext.output])
1 голос
/ 12 апреля 2011

Отказ от ответственности: я сам не сталкивался с этой проблемой, так что это только предположение.

Архетипы и другие используют индекс / аксессор SearchableText () для заполнения индекса полнотекстового поиска для поиска Plone.

Возможно, вам нужно добавить метод SearchableText () к вашему типу контента и заставить его возвращать весь объединенный текст, который вы хотите получить при полнотекстовом поиске.

0 голосов
/ 07 апреля 2012

Хорошее предложение Кристофа о специальном индексаторе.Вы также можете использовать это дополнение: colle.dexteritytextindexer

...