1

SolR 3.6 から 4.0 への移行を検討しています。

私は 2500 個以下のドキュメントを持つ小さなシステムを開発しました。さらに、変更のたびにシステムの機能が低下しないことを確認するために、4100 以上のテストを開発しました。

この移行では、独自の fieldType を追加するだけで、Solr 4.0 のデフォルト設定を維持しました (schema.xml と solrconfig.xml で多くの新しい設定を見てきました)。

したがって、同義語を使用しない最初の実行では、バージョン 4.0 と 3.6 の違いは 4100 から 1 文 (4.0 では 3.6 よりもうまく機能するフレーズ) にすぎませんでした。 4.0 ではさらに悪い結果になります。

私のfieldTypeは次のとおりです:

<fieldType name="text_es_lemma" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.ASCIIFoldingFilterFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.lnk" ignoreCase="true" expand="false"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.lnk" format="snowball" enablePositionIncrements="true"/>
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
    <filter class="myownlibrary.solr.analysis.SpanishLemmaFilterFactory" dictionary="lang/avatar_dictionary/adj_num_ord-lex.src,lang/avatar_dictionary/basic-lex.src" ignoreCase="true"/>
  </analyzer>

  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.ASCIIFoldingFilterFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.lnk" ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.lnk" format="snowball" enablePositionIncrements="true"/>
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
    <filter class="myownlibrary.solr.analysis.SpanishLemmaFilterFactory" dictionary="lang/avatar_dictionary/adj_num_ord-lex.src,lang/avatar_dictionary/basic-lex.src" ignoreCase="true"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
  </analyzer>
</fieldType>

シノニムを含むファイルは、両方のバージョンで同じです。

4.0 と 3.6 でシノニムの使用方法に違いはありますか? 4.0 では別の方法で指定する必要がありますか?

4

0 に答える 0