2012-01-25 3 views
5

Я реализовал Solr SpellCheck Component на основе документа от http://wiki.apache.org/solr/SpellCheckComponent, он работает хорошо. Но я пытаюсь отфильтровать результат проверки орфографии на основе другого фильтра. Рассмотрим следующую схему:Solr Spell Проверка результатов поиска на основе результатов

product_name 
product_text 
product_category 
product_spell -> copy string from product_name and product_text . And tokenized using white space analyzer 

Для приведенной выше схемы я пытаюсь отфильтровать результат проверки орфографии на основе предоставленной категории. Я попробовал запросить http://127.0.0.1:8080/solr/colr1/myspellcheck/?q=product_category:160%20appl&spellcheck=true&spellcheck.extendedResults=true&spellcheck.collate=true. Результаты проверки орфографии не учитывают товарную категорию: 160

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

Невозможно ли иметь другое условие фильтра в компоненте проверки орфографии?

Я использую Solr 3,5

ответ

6

я раньше понял из SOLR-2010 вопроса, что фильтрация с помощью параметра fq должно быть возможно, используя параметры сортировки, но это не так, я думаю, что я неправильно понял.

Фактически, SpellCheckComponent имеет, скорее всего, отдельный индекс, за исключением реализации DirectoSolrSpellChecker. Это означает, что выбранное вами поле индексируется в другом индексе, который содержит только информацию об этом конкретном поле, которое вы выбрали для исправления орфографии.

Если вам интересно, вы также можете посмотреть, как выглядит этот дополнительный индекс, используя luke, так как это, конечно, индекс lucene. К сожалению, фильтрация с использованием других полей здесь не вариант, просто потому, что там есть только одно поле, которое вы используете для исправления орфографии.

+0

Ровно !!! Я чувствую то же самое. –

+0

Я написал в списке рассылки solr-user, чтобы убедиться, но у меня еще нет ответа. Во всяком случае, я посмотрел на код, параметр 'fq' даже не читается, и я посмотрел на индекс с luke: он не содержит достаточной информации для создания фильтров. – javanna

+0

Да в соответствии с индексом, наш вывод верен. сообщите мне, если вы получите ответ от списка рассылки solr-user –

Смежные вопросы