0

私はsolrでフィールドを検索したいのですが、これを書く前にたくさん検索しました.私の問題は、fieldType名前ブロックを自分のschema.xmlに追加することですが、フィールドを定義しようとすると、solrがエラーを出します.私のfieldTypeコード、

<fieldType name="text_general_edge_ngram" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="solr.LowerCaseTokenizerFactory"/>
            <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.LowerCaseTokenizerFactory"/>
        </analyzer>
    </fieldType>

それらは私がschema.xmlに追加しようとしているフィールドです

<field name="name" type="edge_ngram" indexed="true" stored="true"/>
<field name="name" type="edgengram" indexed="true" stored="true"/>
<field name="name" type="ngram" indexed="true" stored="true"/>
<field name="name" type="text_general_edge_ngram" indexed="true" stored="true"/>

私はsolrの初心者です。どんな助けでも素晴らしいでしょう、ありがとう。

4

1 に答える 1

0

あなたの質問を読み直したら、問題がわかりました。4 つのフィールドをすべて同じ名前にすることはできません。上記で定義した 4 つのフィールドすべてが本当に必要な場合は、次のように変更します。

 <field name="name1" type="edge_ngram" indexed="true" stored="true"/>
 <field name="name2" type="edgengram" indexed="true" stored="true"/>
 <field name="name3" type="ngram" indexed="true" stored="true"/>
 <field name="name4" type="text_general_edge_ngram" indexed="true" stored="true"/>

スキーマ ファイル内のフィールドの実際の名前は一意である必要があります。

于 2012-11-04T02:36:46.223 に答える