当我执行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>
感谢。
泰德。
答案 0 :(得分:0)
您可以配置ExcerptProvider
(Javadoc)实施,该实施负责您rep:excerpt()
文件的SearchIndex
元素中的workspace.xml
功能:
<param name="excerptProviderClass" value="org.apache.jackrabbit.core.query.lucene.DefaultHTMLExcerpt"/>
您可能需要插入自己的实现以满足您的特定需求。
Jackrabbit Wiki还有一些 - 不幸的是相当陈旧 - 的信息。