gpt4 book ai didi

plone - 如何将关键字添加到 SearchableText 以获取 Dexterity 内容类型?

转载 作者:行者123 更新时间:2023-12-04 18:49:19 24 4
gpt4 key购买 nike

我有一个运行 Plone 4.1 的站点,它具有使用 Dexterity 1.1 开发的自定义内容类型。我的内容作者可以使用“分类”选项卡将关键字添加到基本的 Plone 页面,如果用户使用其中一个关键字进行搜索,他们将成功找到这些页面。

我的内容作者还使用我开发的 Dexterity 自定义内容类型制作了页面。这是使用基于 Python 的文件系统架构定义的。如果用户在 Dexterity 内容类型的标题和描述中搜索术语,他们会在搜索结果中返回 Dexterity 页面。如果他们在关键字字段中使用查询词进行搜索,则不会得到任何结果。但是,在高级搜索表单下,如果他们突出显示标签列表中的适当标签,他们可以找到敏捷页面。

我已经使用 ZMI 中的 portal_catalog 工具检查了搜索索引的内容。似乎关键字被添加到 SearchableText 字段,用于基本内容类型,例如 Page,但对于我的基于灵巧的自定义内容类型,它们没有。

我是否需要编写额外的代码来将关键字字段的内容插入到 SearchableText 索引中?

最佳答案

假设您的 Dexterity 内容类型实现了 IFoo,并且您的架构中定义的关键字属性是一个字符串列表。

您以这种方式定义索引器:

from five import grok
from plone.indexer.decorator import indexer
from my.dexteritycontent.foo import IFoo

@indexer(IFoo)
def searchableIndexer(context):
keywords = " ".join(context.keywords)
return "%s %s %s" % (context.title, context.description, keywords)

grok.global_adapter(searchableIndexer, name="SearchableText")

关于plone - 如何将关键字添加到 SearchableText 以获取 Dexterity 内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8852132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com