将索引添加到自定义目录

Cam*_*ell 2 plone

我正在为不同类型的对象创建多个目录,希望能够加快速度并减少冲突。我一直在处理这个文档:

http://collective-docs.readthedocs.org/en/latest/searching_and_indexing/catalog.html#minimal-code-for-creating-a-new-catalog

站点构建没有错误,目录已创建,但索引和元数据列未添加到目录中。

我尝试向catalog.xml 添加一个新块,但失败并出现以下错误:

ExpatError: catalog.xml: junk after document element: line 158, column 0
Run Code Online (Sandbox Code Playgroud)

这是我的新块开始的行 - 我猜测catalog.xml 用于portal_catalog 而不是其他。

我发现了一个听起来很明显的函数,名为 ZCatalog.py/addIndex()...

但我的问题是——“最佳实践”是什么样的?我真正想要的是找到一个在安装时添加多个目录和索引的项目的活生生的例子。

文档链接也将是一等奖。

感谢您到目前为止的宝贵时间。并且提前。

van*_*eem 5

我通常添加安装代码来为我执行此操作 - 我不认为catalog.xml 文件可以处理其他目录。

cat = getToolByName(context, 'catalog_name')
cat.addIndex(name, 'FieldIndex') # or whatever index you want it to be.
# for metadata
cat.addColumn(name)
Run Code Online (Sandbox Code Playgroud)

只需将类似的内容放入导入步骤方法中即可。