Как реализовать граненое поисковое предложение с количеством релевантных элементов в Solr? - PullRequest
1 голос
/ 06 февраля 2011

Привет У меня есть особая потребность в моей компании в поисковой системе системы, и я не могу найти решение.

У нас есть индекс элементов SOLR, все они имеют одинаковые поля с одним из полей «Тип» (и, конечно, «Заголовок», «Текст» и т. Д.).

Что мне нужно, так это: я получил Тип элемента и строку запроса, и мне нужно вернуть список поисковых запросов, в котором также будет указано, как многие элементы правильного типа будут возвращать эту строку.

Что-то вроде, если исходная строка "goo", я получу

Goo 10 Google 52 Goolag 2

и т. Д.

сейчас, как мне это сделать? Я не хочу повторно запрашивать SOLR для каждого отдельного предложения, но если нет другого пути, я просто мог бы.

Заранее спасибо

Ответы [ 4 ]

2 голосов
/ 07 февраля 2011

вы можете попробовать краевой n-грамм токенизации http://search.lucidimagination.com/search/document/CDRG_ch05_5.5.6

1 голос
/ 07 февраля 2011

Вы можете попробовать аспекты. Взгляните на мое более подробное описание ('Автозаполнение').

Это было реализовано в http://jetwick.com с Solr ... теперь с помощью ElasticSearch, но источники Solr все еще доступны, и идея также идентична https://github.com/karussell/Jetwick

0 голосов
/ 28 февраля 2011

Это реализовано с помощью запроса поля фасета с набором префиксов.Вы можете проверить это с помощью обработчика xml следующим образом:

http://localhost:8983/solr/select/?rows=0&facet=true&facet.field=type&f.type.prefix=goo
0 голосов
/ 06 февраля 2011

SpellCheckComponent of Solr (который дает предложения) имеет расширенные результаты, которые могут дать частоту каждого предложения в индексе - http://wiki.apache.org/solr/SpellCheckComponent#Extended_Results.

Однако компонент .Net SolrNet в настоящее время, похоже, не поддерживает параметр extendedResults: «Поддерживаются все параметры SpellCheckComponent, кроме параметра extendedResults» - http://code.google.com/p/solrnet/wiki/SpellChecking.

...