Solr3.2 Carrot2 кластеризация только "другие темы" - PullRequest
0 голосов
/ 28 июня 2011

Говорят, что интеграция Carrot в Solr была улучшена с момента выпуска Solr 3.2, но для меня она оказалась другой.У меня был абсолютно такой же сконфигурированный сервер Solr 1.4.1, где работал Carrot, и Solr 3.2 просто не давал мне ничего, кроме «других тем».Это сводит меня с ума, потому что кроме меня нет никаких исключений или чего-то необычного.Даже результат xml выглядит одинаково ...

Однако я не внес много изменений в стандартную конфигурацию компонента кластеризации:

 <searchComponent name="clustering" 
                   enable="${solr.clustering.enabled:true}"
                   class="solr.clustering.ClusteringComponent" >
    <lst name="engine">
      <str name="name">default</str>

      <str name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>

      <str name="LingoClusteringAlgorithm.desiredClusterCountBase">20</str>
          <!--custom-->
      <str name="LingoClusteringAlgorithm.phraseLabelBoost">8.00</str>
      <str name="TermDocumentMatrixBuilder.titleWordsBoost">6.00</str>


      <str name="carrot.lexicalResourcesDir">clustering/carrot2</str>

      <str name="MultilingualClustering.defaultLanguage">ENGLISH</str>
    </lst>
    <lst name="engine">
      <str name="name">stc</str>
      <str name="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>
    </lst>
  </searchComponent>
  <requestHandler name="/clustering"
                  startup="lazy"
                  enable="${solr.clustering.enabled:true}"
                  class="solr.SearchHandler">
    <lst name="defaults">
      <bool name="clustering">true</bool>
      <str name="clustering.engine">default</str>
      <bool name="clustering.results">true</bool>
       <str name="carrot.title">autocomplete</str>
       <str name="carrot.url">autocomplete</str>
       <str name="carrot.snippet">autocomplete</str>
       <bool name="carrot.outputSubClusters">true</bool>

       <str name="defType">edismax</str>
       <str name="qf">
          text^0.5 autocomplete^1.2 ata^1.0 raum^1.0 system^1.0 assy^1.0 unit^1.0
       </str>
       <str name="q.alt">*:*</str>
       <str name="rows">10</str>
       <str name="fl">*,score</str>
    </lst>     
    <arr name="last-components">
      <str>clustering</str>
    </arr>
  </requestHandler>

Мое лучшее предположение было то, что морковь неправильно работает вместе с edismax (который не был реализован в Solr 1.4.1), но это может быть ошибочным.

Я уже переиндексировал свои данные, чтобы убедиться, что это не проблема.

В морковном верстаке кластеризация работает хорошо с Lingo в качестве алгоритма.когда я выбираю «по источнику», я получаю «другие темы», как в XML.Может ли Линго быть не настроен хорошо?Нужно ли что-то настраивать, кроме solrconfig.xml, чтобы это исправить?

Я благодарен за любую помощь.

1 Ответ

3 голосов
/ 28 июня 2011

Это происходит, если фрагмент кода, на котором вы пытаетесь кластеризоваться, никогда не отличается или отличается очень мало.Попробуйте добавить 'clustering.snippet =' к параметрам вашего запроса.В ваших настройках есть поле под названием «автозаполнение», которое по умолчанию.Есть ли в этом поле какой-либо значимый текст?

Пример, который заставляет меня игнорировать это поведение:

http://localhost:8983/solr/clustering?q=peter&rows=200&carrot.snippet=summary

С уважением,

/ ПитерW

...