2013-08-29 4 views
0

моя компания использует внешнюю компанию для удовлетворения своих потребностей в поиске (SLI). Вместо этого я реализовал Solr, поскольку он бесплатный и откровенно превосходный. Однако SLI обеспечивает функцию, где, если вы ищете для специальных ключевых слов, таких как «помощь» или «контакт» ответ от SLI не будет включать в себя содержание и вместо этого лишь несколько узлов, похожий на«Jump Url» в результатах поиска solr

<response> 
    <merch><jumpurl>http://somedomain.com/somejumpurl</jumpurl></merch> 
</response> 

Любые идеи, как я могу обеспечить эта функция с Solr?

+1

- это те особые слова, которые предопределены в файле конфигурации или что-то в этом роде? –

+0

Да, они могут быть, я думаю, в SLI вы вводите эти слова в свою консоль. – Paul

+1

Вы ищете что-то вроде: http://wiki.apache.org/solr/QueryElevationComponent? – condit

ответ

2

То, что вы ищете, является типом «спонсируемого поиска». Нечто похожее на то, что в Solr может быть достигнуто с помощью QueryElevationComponent.

Вам нужно настроить его в solrconfig.xml, а затем сделать специальное поле, чтобы использовать его, а затем создать внешний файл XML с вашими специальными словами и правилами, которые вы хотите применить, например:

<elevate> 

    <query text="AAA"> 
    <doc id="A" /> 
    <doc id="B" /> 
    </query> 

    <query text="ipod"> 
    <doc id="A" /> 

     <!-- you can optionally exclude documents from a query result --> 
    <doc id="B" exclude="true" /> 
    </query> 

</elevate> 

А затем использовать его таким образом:

http://host/solr/elevate?q=YYYY&debugQuery=true&enableElevation=true 

Если вы хотите, чтобы вернуться только результаты, указанные в файле места, добавьте эксклюзив = верны URL:

http://host/solr/elevate?q=YYYY&debugQuery=true&exclusive=true 
Смежные вопросы