как изменить URL для клиента SolrNet - PullRequest
2 голосов
/ 18 декабря 2010

Я новичок в SolrNet, и мой вопрос заключается в том, как изменить URL-адрес для клиента SolrNet.

Я нашел это в вики

исходный код

Startup.Init<Product>("http://localhost:8983/solr");

вызывающий код

var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();

но я не знаю, как изменить URL, может кто-нибудь сказать мне, как это сделать, я действительно благодарен.

Ответы [ 2 ]

1 голос
/ 19 августа 2014

Его нельзя изменить с помощью существующего кода SOLRNet, поскольку он реализован по одноэлементному шаблону.

Вы должны загрузить код с github .

В настоящее время выброшено следующее исключение "Ключ ... уже зарегистрирован в контейнере" . Вы можете изменить код так, чтобы он всегда создавал новый экземпляр. (мимо шаблона Singleton)

0 голосов
/ 25 июля 2014

Обработчиком запроса по умолчанию является "/ select".Поэтому SolrNet отправит ваши запросы на

http://localhost:8983/solr/select

. Если вы хотите вызвать другой обработчик запросов, вам необходимо получить экземпляр SolrQueryExecuter и соответственно установить свойство Handler.Предполагая, что у вас есть обработчик запросов с именем "/ browse":

Startup.Init<Product>("http://localhost:8983/solr"); 
var executor = ServiceLocator.Current.GetInstance<ISolrQueryExecuter<Product>>() as SolrQueryExecuter<Product>;

if (executor != null)
{
    executor.Handler = "/browse";
}
...