в чем разница между TextField и text_general в solr

#solr

#solr

Вопрос:

Я новичок в solr, в каком-то руководстве я обнаружил, что существует тип text_general, и я предполагаю, что он используется для типа текста (одно или несколько слов …), А затем в справочной документации я обнаружил, что существует также TextField, который также используется для Text, usually multiple words or tokens.
итак, в чем разница между ними и когда использовать одно вместо другого

Комментарии:

1. что ж, функция анализа полей solr лучше всего подходит для того, чтобы найти ответ на этот вопрос, создать коллекцию с полями, назначить тип данных, который вы хотите изучить, а затем использовать экран анализа для изучения поведения — cwiki.apache.org/confluence/display/solr/Analysis Screen

Ответ №1:

TextField — это базовый тип поля, который включен в solr, который вы можете использовать для индексации / анализа, как правило, нескольких слов или токенов. Означает, что вы можете использовать это для сопоставления какой-либо части предложения.

text_general не является базовым типом поля solr, это просто расширенный тип из текстового поля, который вы определяете на основе ваших требований к индексации и запросам. Итак, просто вы создаете / определяете это поле.

Примерный тип поля для text_general

 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <!-- in this example, we will only use synonyms at query time
    <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
    -->
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>
  

Комментарии:

1. поэтому я предполагаю, что я могу использовать их оба для фраз, но когда мне нужна расширенная обработка (например, удаление стоп-слова), лучше использовать text_general

2. правильно. Вы можете добавлять или удалять в соответствии с тем, что вам нужно. это поможет вам в процессе cwiki.apache.org/confluence/display/solr /…