質問

を使用していsolrのfacetingっ走る問題をつくろうと思いましたその周辺を利用する事が出来ます。

基本的には一回の町名が来てSOLRとして

"ケンブリッジ"

いので通ったとして

"ケンブリッジ"

たいと思ったフィルターを使にSolrを停止する絶叫キャップの町です。そうであfitlerすべてのテキスト 下の場合.

<!-- A text field that only sorts out casing for faceting -->
    <fieldType name="text_facet" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

破壊も修復もおもしろくな人についても明らかにしていないとするフィルタを無視する最初の文字の単語や小文字の残りの文字です。E.g.

  • ケンブリッジ>>ケンブリッジ
  • キングストンにハル>>キングストンにハル

など

ある場合で簡単に書ける独自のフィル..何かいいただければ幸いです..したらいいと思います。Java人..

感謝

役に立ちましたか?

解決

AFAIKありませんフィルターをするようです。書き込みを行う場合は、参照 LowerCaseFilterFactoryLowerCaseFilter 参考とするものではありませんか。

またこのクライアント側、つまりにSolrNetますISolrOperationsデコレータは、必要な変換後のクエリを使用 ToTitleCase.

他のヒント

おそらく、あなたはsolr.PatternReplaceCharFilterFactoryを利用することができるか。

<fieldType name="textCharNorm" class="solr.TextField">
  <analyzer>
    <filter class="solr.LowerCaseFilterFactory"/>
    <charFilter class="solr.PatternReplaceCharFilterFactory"
                pattern="([^\s]{1})([^\s]*)" replaceWith="\U$1\L$2"/>
  </analyzer>
</fieldType>

お知らせ、私はコードまたはsolr.PatternReplaceCharFilterFactoryをテストしていないので、私はそれが動作するかどうかはわかりません。あなたが独自のフィルタを構築する必要がある場合は、このガイドでは役に立つかもしれません。

ます。http://robotlibrarian.billdueber。 COM /建物-Solrのテキスト・フィルタのため、正規化データ/

//ジョン

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top