Поисковый запрос Solr со специальным символом не работает в Sitecore

У меня есть контент на странице «Финансовая ставка составляет 3,75%, а рынок .....». Теперь, если я ввел ключевое слово для поиска как «3,75%», тогда в результате должна отобразиться эта страница, но она не работает. Он возвращает 0 результатов, но работает нормально, когда я ввожу «3,75» в качестве ключевого слова для поиска.

public SearchResults<SearchHelper> GetSearchData(string searchtext)
    {

        using (searchContext)

        {

            //Fetch all items which contains search query                

            var query = searchContext.GetQueryable<SearchHelper>().OrderByDescending(i => i.BoostingValue).Where(i => (i.PageSearchContent.Contains(searchtext) ));

            var result = query.GetResults();

            return result;
        }
    }

Может ли кто-нибудь помочь, как я могу разрешить поиск со специальным символом?

Спасибо


person cbrebel    schedule 06.12.2016    source источник


Ответы (1)


Вы можете использовать фильтр WordDelimiterFilterFactory для преобразования % в DIGITAL или ALPHA.

Например:

# A customized type mapping for WordDelimiterFilterFactory
# the allowable types are: LOWER, UPPER, ALPHA, DIGIT, ALPHANUM, SUBWORD_DELIM
# 
# the default for any character without a mapping is always computed from 
# Unicode character properties

# Map the $, %, '.', and ',' characters to DIGIT 
# This might be useful for financial data.
% => DIGIT
( => ALPHA
) => ALPHA
. => DIGIT

Пример использования

<filter class="solr.WordDelimiterFilterFactory" types="wdfftypes.txt" generateNumberParts="0" stemEnglishPossessive="0" splitOnCaseChange="1" preserveOriginal="1" catenateAll="1" catenateWords="1" catenateNumbers="1" generateWordParts="1" splitOnNumerics="1"/>

Просто создайте новый файл с именем "wdfftypes.txt" в solr / coreName / conf / wdfftypes.txt

person Oyeme    schedule 06.12.2016
comment
Спасибо за ответ. Я применил предложенное вами предложение, но оно не работает. Я сделал все вышеперечисленные изменения, а затем перестроил индекс в Sitecore для Master и Web. Я изменил фильтр в индексаторе и анализаторе запросов. - person cbrebel; 06.12.2016
comment
@ChirayuBrahmbhatt Не могли бы вы доставить мне удовольствие, что говорит анализ? Подробный вывод должен указать вам правильное направление, чтобы увидеть тип символа. - person Oyeme; 06.12.2016
comment
я вижу% .. тип: Word - person cbrebel; 06.12.2016