нельзя использовать Edge NGram в solr 7.5 - PullRequest
0 голосов
/ 18 июня 2019

Я использую solr 7.5, и я пытался использовать Edge NGram, но ошибка ниже.

collection: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core collection: 
Can't load schema /Users/srinivaskallepalli/aem/integration-test/target/solr-7.5.0/server/solr/wnt-test_master_Products_de/conf/schema.xml: Plugin init failure for [schema.xml] fieldType "text_general_EDGE_NGRAM": Plugin init failure for [schema.xml] analyzer/filter: Error instantiating class: org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'

Пожалуйста, проверьте ваши журналы для получения дополнительной информации

Ниже приведена схема для ребра NGram

<fieldType name="text_general_EDGE_NGRAM" class="solr.TextField" positionIncrementGap="100">
            <analyzer type="index">
                <tokenizer class="solr.StandardTokenizerFactory" />
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.GermanLightStemFilterFactory"/>
                <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="30" side="front"/>

            </analyzer>
            <analyzer type="query">
                <tokenizer class="solr.StandardTokenizerFactory" />
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" />
                <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.GermanLightStemFilterFactory"/>

            </analyzer>
        </fieldType>

        <fieldType name="text_general_EDGE_END_NGRAM" class="solr.TextField" positionIncrementGap="100">
            <analyzer type="index">
                <tokenizer class="solr.StandardTokenizerFactory" />
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.GermanLightStemFilterFactory"/>
                <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="30" side="back"/>
                <filter class="solr.ReverseStringFilterFactory"/>

            </analyzer>
            <analyzer type="query">
                <tokenizer class="solr.StandardTokenizerFactory" />
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" />
                <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.GermanLightStemFilterFactory"/>

            </analyzer>
        </fieldType>

Может кто-нибудь помочь с этим?

1 Ответ

1 голос
/ 18 июня 2019

Вам необходимо удалить атрибуты side="back" и side="front". Удаление side="front", side="back" из файла схемы устранит ошибку.

Используйте тип поля, как показано ниже.

<fieldType name="text_general_EDGE_NGRAM" class="solr.TextField" positionIncrementGap="100">
     <analyzer type="index">
       <tokenizer class="solr.StandardTokenizerFactory" />
          <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" />
          <filter class="solr.LowerCaseFilterFactory" />
          <filter class="solr.GermanLightStemFilterFactory"/>
          <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="30"/>
     </analyzer>
     <analyzer type="query">
       <tokenizer class="solr.StandardTokenizerFactory" />
          <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" />
          <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
          <filter class="solr.LowerCaseFilterFactory" />
          <filter class="solr.GermanLightStemFilterFactory"/>
      </analyzer>
   </fieldType>

Пожалуйста, обратитесь по ссылке

Я бы предложил, чтобы анализатор типов запросов был похож на приведенный ниже, но опять же все зависит от ваших требований.

<analyzer type="query">
   <tokenizer class="solr.LowerCaseTokenizerFactory"/>
</analyzer>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...