2011-02-06 3 views
0

У меня есть приложение Rails с использованием солнечного пятна, чтобы выполнять поиск по таблице с записями разного размера. Я хочу настроить оценку удара в зависимости от того, насколько велика определенная область. Это значит наказывать статьи, которые имеют очень мало контента, но, как оказалось, для поиска слова вверху. Это возможно?Можно ли изменить рейтинг релевантности Solr, основанный на длине содержимого?

ответ

2

Один метод: вычислить длину тела во время вставки и дать всему документу Boost на основе его более высокой длины - вы будете поставлять это Boost вручную, для каждого документа в индекс времени.

Смотрите этот FAQ: http://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_increase_the_score_for_specific_documents

+0

Спасибо! Думаю, это сработает. Я постараюсь не забыть отчитываться! –

0

Этот поток списка рассылки, похоже, отвечает на ваш вопрос - и поднимает еще один момент, который вы могли бы подумать об этом неправильно.

http://osdir.com/ml/solr-user.lucene.apache.org/2010-05/msg00916.html

Этой цитата является иллюстративной: "я должен спросить, хотя, почему вы хотите отсортировать этот путь Расчеты актуальности уже фактор как термин частоты и поле длиной Что использования случай?. для сортировки по длине поля, указанному выше? «

+0

В моем случае, есть статьи, такие как: –

+0

'заголовка => 'Бинго', содержание =>«см Silly games.'' При поиске "глупо" эта статья приходит очень высокий в списке. Я знаю, что есть, вероятно, ответ на вопрос, связанный с каким-то видом переадресации, но на данный момент я надеялся получить solr, чтобы подавить эти статьи с очень коротким контентом. Я не хочу сортировать по длине поля, поскольку поток списка рассылки, кажется, предлагает, я хочу, чтобы он фактически учитывал рейтинг попадания. Может быть, это «неправильно» и взломанно, но мне все равно хотелось бы знать, есть ли стандартный способ повлиять на счет по-своему. –

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