2013-08-29 4 views
0

Как я могу найти «кубик льда», если у меня есть «icecube» в моем индексе. Я установил mm как 2 < -1 4 < 70%. При использовании гальки в анализаторе запросов запрос «кубик льда» создает три токена как «лед», «куб», «icecube». Но здесь есть ограничение. Идет поиск только льда и кубов, но не «icecubes» .i.e не работает для пары, хотя я использую фильтр гальки. Однако в инструменте анализа создаются три токена. Как это решить? Здесь ссылка на схему схемы: http://pastebin.com/74xaKEyvПоиск слов с пробелами для слова без пробелов в solr

+0

мм 2 <-1 4 <70% означает, что существует менее 3 необязательных оговорок, все они должны совпадать; для предложений от 3 до 4, на один меньше, чем количество предложений должно совпадать, для 5 или более предложений 70% должны совпадать, округленные вниз. Ваш случай является первым, поэтому все предложения должны совпадать, чтобы вы соответствовали этому документу. Можете ли вы отправить запрос, как он разбирается в режиме отладки? –

+0

(+ ((DisjunctionMaxQuery ((titlex: mac) ~ 0.01) DisjunctionMaxQuery ((titlex: hine) ~ 0.01)) ~ 2) DisjunctionMaxQuery ((titlex: "(mac machin) hine" ~ 3^3.0 | mcatname: mac hine^0.5 | smalldesc: «mac hine» ~ 3^1.5 | companyname: «mac hine» ~ 3^0.9 | catname: mac hine^0.5) ~ 0.01))/no_coord Здесь отладочный запрос с mm = blank (no mm) и все же не работает –

+0

см., что '(mac machin) hine'? Я подозреваю, что он должен стать «(макинтош-машиной) hine», чтобы работать ... это может быть стволовым ... вы можете попробовать с другим примером? –

ответ

0

Я думаю, вы должны использовать фильтр Shingle только при индексации в вашей схеме.

Попробуйте удалить <filter class="solr.ShingleFilterFactory" maxShingleSize="2" outputUnigrams="true" tokenSeparator=""/> из части запроса вашего анализатора.

+0

Если я удалю галька фильтра из анализатора запросов, тогда запрос «кубик льда» не будет найти результаты для «icecubes», что желательно. Поскольку вы попросили меня удалить фильтр гальки из времени запроса, я сделал это, но он все еще не работает. –

+0

любое обновление здесь? –