2016-05-05 2 views
0

Документ, который я индексирую, содержит поле со строкой, являющейся типом документа документа. Например, «Техническая нота», «Синопсис», «Рабочие материалы» и т. Д.Solr Специальная функция форсирования

Интересно, можно ли написать усиление, помогающее ранжировать результаты по важности типа документа.

Другими словами,

«Техническое примечание» -> 0,5 «Синопсис» -> 0,3 «Рабочие материалы» -> 0,2

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

Есть ли способ направить эту функцию повышения или время поиска или время индекса.

Бест,

Daniel

ответ

2

вы можете просто:

defType=dismax 
bq=type:tec^1 type:syn^2 type:wor^3 

это повысит ваши результаты. Делайте это только в режиме поиска. Не нужно добавлять значение в индексное время (отличное от типа документа, конечно! :))

Вы можете выполнить запрос, который вы хотите, чтобы получить только нужные записи, как обычно, q, qf ... п.

Ссылки

+0

Спасибо. Хотя кажется, что нет никаких обозначений, чтобы сделать это с помощью анализатора smack-кода? Или то, что вы написали, применимо к нему? – MaatDeamon

+0

На самом деле я не уверен, чтобы полностью понять, как все будет играть. Базовый параметр q должен содержать то, что мой пользователь набрал как ключевое слово. Теперь, где именно делает то, что вы написали в игру? Я должен был бы добавить его к моему solrconfig, кстати, добавив, будет ли он сочетать параметр q, который был отправлен моим пользователем с тем, что вы написали? Что было бы семантикой этого? Каждый раз, когда вы ищете что-либо, также ищите tec, syn и wor и даете следующий толчок, когда найдете их? – MaatDeamon

+0

это секретный запрос, в вашем случае ничего не нужно добавлять. :) – jeorfevre

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