Кластер Carrot2 с несколькими аргументами

Привет,

Я работаю над SearchEngine, который использует Solr и Carrot2.

Все в порядке, но Кэррот делает странную вещь, которую я не могу понять. Я хочу получить результаты от Solr и сгруппировать их с помощью Carrot. Я все интегрировал, и все работает хорошо, но Carrot группируется только по одному из моих атрибутов. Тот, который соответствует результату и никакому другому атрибуту. Нравиться:

Данные

название: Питер город: Лондон хобби: гольф, горные лыжи

имя: Артур город: Берлин хобби: гольф, езда на велосипеде

название: Париж город: Лондон хобби: гольф, походы

Поиск: гольф

Кластер вроде: катание на лыжах, велосипеде, пешие прогулки

..но не Лондон.

Это не удивило бы меня само по себе, но когда я использую CarrotClusteringWorkbench, он группируется по другим аргументам.

Сначала я попытался экспортировать конфигурации из верстака в Solrconfig, но это ничего не изменило. Solr использует конфиги, но ни один из них ничего не меняет в этой проблеме.

Может ли кто-нибудь помочь мне или объяснить это?


person user523859    schedule 12.07.2011    source источник


Ответы (1)


Вам нужно указать имена полей для кластеризации в файле solrconfig.xml. Чтобы воспроизвести конфигурацию, которая работала для вас в Carrot2 Clustering Workbench, поместите их в обработчик запросов кластеризации (или укажите в URL-адресе запроса):

<!-- In Workbench this is "Title field name" -->
<str name="carrot.title">name</str>

<!-- In Workbench this is "Summary field name" -->
<str name="carrot.snippet">features</str>

В целом, Carrot2 лучше всего работает с естественным/неструктурированным текстом, таким как результаты поиска, рефераты документов или контент. Если ваши поля содержат строки, обозначающие некоторые структурированные данные, кластеры, вероятно, будут далеки от того, что вы ожидаете (и от того, что может создать специальный алгоритм кластеризации).

person Stanislaw Osinski    schedule 14.07.2011