Jackrabbit 索引配置白名单 (Magnolia CMS 5.5.5 Fulltextsearch)

Posted

技术标签:

【中文标题】Jackrabbit 索引配置白名单 (Magnolia CMS 5.5.5 Fulltextsearch)【英文标题】:Jackrabbit Indexing Config Whitelisting (Magnolia CMS 5.5.5 Fulltextsearch) 【发布时间】:2017-08-11 09:17:50 【问题描述】:

我想对哪些属性进行索引/搜索并在 Magnolia 搜索的摘录中显示。

我正在更改我的网站工作区中的 indexing_configuration.xml。 删除索引并重新启动 magnolia 并没有改变任何东西......

现在我的 indexing_configuration.xml 中有这个(在其他东西旁边) 但这些是我想包含在我的 ecxcerpt 中的字符串属性,其余的应该被排除:

   <index-rule nodeType="nt:hierarchyNode">
      <property boost="10" useInExcerpt="true">introTitle</property>
      <property boost="1.0" useInExcerpt="true">introAbstract</property>
      <property boost="1.0" useInExcerpt="true">contentText</property>
      <property boost="1.0" useInExcerpt="true">subText</property>
      <property boost="10" useInExcerpt="true">title</property>
      <!-- exclude jcr:* and mgnl:* properties -->
      <property isRegexp="true" nodeScopeIndex="false" useInExcerpt="false">.*:.*</property>
   </index-rule>
   <index-rule nodeType="mgnl:contentNode">
      <property boost="5" nodeScopeIndex="false" useInExcerpt="true">introTitle</property>
      <property boost="2" nodeScopeIndex="false" useInExcerpt="true">introAbstract</property>
      <property boost="2" nodeScopeIndex="false" useInExcerpt="true">contentText</property>
      <property boost="2" nodeScopeIndex="false" useInExcerpt="true">subText</property>
      <property boost="5" nodeScopeIndex="false" useInExcerpt="true">title</property>
            <!-- exclude jcr:* and mgnl:* properties -->
       <property isRegexp="true" nodeScopeIndex="false" useInExcerpt="false">.*:.*</property>
   </index-rule>

我怎样才能让它按预期工作?谢谢你的帮助。。

【问题讨论】:

【参考方案1】:

最可能的原因是 Magnolia/JR 没有看到您的新配置。您是否更改了您的 repo 配置(website 工作区中的workspace.xml)以将其指向新的索引配置?

默认看起来像: <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> <param name="path" value="$wsp.home/index" /> <!-- SearchIndex will get the indexing configuration from the classpath, if not found in the workspace home --> <param name="indexingConfiguration" value="/info/magnolia/jackrabbit/indexing_configuration.xml"/> 你需要将它指向你的新文件。

也不确定为什么要根据nt:hierarchyNodemgnl:contentNode 设置索引,而不是使用更具体的mgnl:page/mgnl:component

【讨论】:

感谢 Jan 的回答,但我还是遇到了问题。现在我可以通过设置 nodeScopeIndex="false" 和 useInExcerpt="false" 从 FullTextIndex 中排除一些属性。摘录看起来更干净。但现在它在摘录中显示“admin”和“superuser”(多次),应该使用 .*:.*属性> ..这里有什么问题? 我找到了.. 我需要以下索引规则: mgnl:page , mgnl:component AND mgnl:area...

以上是关于Jackrabbit 索引配置白名单 (Magnolia CMS 5.5.5 Fulltextsearch)的主要内容,如果未能解决你的问题,请参考以下文章

Mac 命令行 Command Line 配置代理, 配置白名单

.htaccess 拒绝所有-> 目录索引不起作用(拒绝所有和白名单文件)

linux dhcp 如何设置白名单?

Confluence 6 配置白名单

没有配置白名单,没有代码覆盖会产生错误

Nginx配置IP白名单和黑名单