#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 /…