Jackrabbit - 为什么搜索摘录包含连接的所有节点属性?

时间:2011-11-21 11:57:05

标签: lucene highlighting jackrabbit

当我执行jackrabbit(版本2.2.9)搜索并且我调用get row.getValue(“rep:excerpt()”)时,返回的字符串只是连接的所有属性(不包括jcr:properties)。我该如何控制?例如。如果我在搜索“foo”时有一个名为“description”的属性,其中包含“bla foo bla”,我希望看到rep:excerpt()返回部分描述。

我尝试创建一个索引配置(我在测试之间删除了我的存储库),试图控制索引的属性,但没有用。

... Workspace.xml

<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
  <param name="path" value="${wsp.home}/index"/>
  <param name="supportHighlighting" value="true"/>
  <param name="excerptProviderClass" value="org.apache.jackrabbit.core.query.lucene.DefaultHTMLExcerpt"/>
  <param name="indexingConfiguration" value="${wsp.home}/indexing_configuration.xml"/>
</SearchIndex>

indexing_configuration.xml

<?xml version="1.0"?>
<!DOCTYPE configuration SYSTEM "http://jackrabbit.apache.org/dtd/indexing-configuration-1.0.dtd">
<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
  <index-rule nodeType="nt:teneoNode">
<property>description</property>
<property>input</property>
<property>key</property>
<property>comment</property>
  </index-rule>
</configuration>

感谢。

泰德。

1 个答案:

答案 0 :(得分:0)

您可以配置ExcerptProviderJavadoc)实施,该实施负责您rep:excerpt()文件的SearchIndex元素中的workspace.xml功能:

 <param name="excerptProviderClass" value="org.apache.jackrabbit.core.query.lucene.DefaultHTMLExcerpt"/>

您可能需要插入自己的实现以满足您的特定需求。

Jackrabbit Wiki还有一些 - 不幸的是相当陈旧 - 的信息。