Jackrabbit - почему отрывок поиска содержит все свойства узла, объединенные? - PullRequest
1 голос
/ 21 ноября 2011

Когда я выполняю поиск на кролике (версия 2.2.9) и вызываю get row.getValue ("rep: excerpt ()"), возвращаемая строка представляет собой объединенные все свойства (кроме jcr: properties). Как мне это контролировать? например. Если у меня есть свойство с именем «description», содержащее «bla foo bla», когда я ищу «foo», я бы хотел, чтобы 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 голосов
/ 23 ноября 2011

Вы можете настроить реализацию ExcerptProvider ( Javadoc ), которая отвечает за функциональность rep:excerpt() в элементе SearchIndex вашего workspace.xml файла:

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

Возможно, вам понадобится подключить собственную реализацию для ваших конкретных потребностей.

Существует также, к сожалению, довольно старая информация о Jackrabbit Wiki .

...