КК: snknop38we.azurewebsites.net/Solr номера поиска по сайту
Пример запроса: Solr: получение «д = (111 и (опубликовано: True) И ((entity_type_id: 19)) и ((available_start_date_time_utc : [* СЕЙЧАС]) ИЛИ (: -available_start_date_time_utc: [* TO *])) AND ((available_end_date_time_utc: [СЕЙЧАС В ]) ИЛИ (: * -available_end_date_time_utc: [* TO *]))), start = 0, rows = 20, qf = name short_description опубликовано = true is_out_of_stock = false, hl = true, hl.fl = name, short_description 'from'/spell '
Ожидаемые результаты: VM11110xl Kramer
Текущих результаты:
Схема типа для названия & краткого описания полого
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
<analyzer type="index">
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-FoldToASCII.txt"/>
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_ru.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.SnowballPorterFilterFactory" language="Russian" protected="lang/protwords_lt.txt"/>-->
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-FoldToASCII.txt"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_ru.txt"/>
<!--<filter class="solr.SynonymFilterFactory" synonyms="lang/synonyms_ru.txt" ignoreCase="true" expand="true"/>-->
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.SnowballPorterFilterFactory" language="Russian" protected="lang/protwords_ru.txt"/>-->
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
Как мы должны изменить нашу схему для поддержки поиска номера? Кроме того, мы не хотим потерять текущие функции поиска
Как это решить вопрос? Они хотят соответствовать подмножеству числовой строки, а не токена, разделенного пробелами, если я правильно понимаю. – MatsLindh
@MatsLindh, я обновил свой ответ, проверьте 3-й пункт. –
Да, это даст три токена для 'VM11110xl',' VM', '11110' и' xl'. Ни один из них не будет соответствовать запросу '111'. Вам также понадобится набросить его, если вы этого хотите. – MatsLindh