2014-02-06 2 views
0

У меня есть значения повышения по умолчанию в поле. Могу ли я получить значения повышения на основе самого запроса?Увеличение полей на основе запроса в solr

Пример: Мой поиск обработчика:

<requestHandler name="/browse" class="solr.SearchHandler"> 
<lst name="defaults"> 
     <str name="qf"> 
    A^1.0 B^0.6 C^1.2 
     </str> 
</lst> 
</requestHandler> 

который повышает поля А, В, С с заданными статическими значениями. Я хочу, чтобы эти значения основывались на самом запросе. Что-то вроде.

A^1.0 B^0.6 C^myfunction(q) 

Можно ли это сделать? Похоже, что функциональный запрос может помочь, но я не могу понять их синтаксис на основе документации.

+0

Какую логику вы хотите, чтобы ваша myfunction обрабатывалась? Вы хотите подчеркнуть некоторые «ключевые слова» больше, чем другие? – kali

+0

Мне нравится использовать веб-сервер + FastCGI для отправки пользовательских запросов на скрипт python, который в свою очередь направит его на Solr. Этот подход позволил бы вам реализовать «myFunction (q)» в Python, если вам будет более комфортно с этим. – Stephan

+0

kali, для некоторых конкретных запросов, я хочу дать больше стимула для некоторых полей. Вы все это принимаете? – krips89

ответ

0

В вашем запросе вы можете использовать Boosting a Term. Например, у вас есть запрос «A B», если вам нужно увеличить срок A, вы должны написать запрос «A^1.5 B».

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