如何更改 SolrNet 客户端的 url

发布于 2024-10-08 13:57:45 字数 333 浏览 3 评论 0 原文

我是 solrnet 的新手,我的问题是如何更改 SolrNet 客户端的 url。

我在维基上找到了这个

初始化代码

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

调用代码

var solr = ServiceLocator.Current.GetInstance>();

但我不知道如何更改网址,有人可以告诉我该怎么做吗,我真的很感谢。

I am a newbie in solrnet and my question is how to change the url for SolrNet Client.

I found this on wiki

initailizing code

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

invoking code

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

but I dont know how to change the url , could someone tell me how to do this, I am really thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

樱娆 2024-10-15 13:57:45

它不能用现有的 SOLRNet 代码进行更改,因为它是在单例模式上实现的。

您必须从 github 下载代码。

目前已引发以下异常
“密钥...已在容器中注册”。您可以以始终创建新实例的方式更改代码。 (绕过单例模式)

It cannot be changed with existing SOLRNet code as it is implemented on singleton pattern.

You have to download the code from github.

Currently following exception has been thrown
"Key ... already registered in container". You can change code in a way that it will always create new instance. (by pass Singleton pattern)

甜`诱少女 2024-10-15 13:57:45

默认请求处理程序是“/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";
}

The default request handler is "/select". So SolrNet will send your requests to

http://localhost:8983/solr/select

If you wish to invoke a different request handler, you will need to get a instance of the SolrQueryExecuter and set the Handler property, accordingly.

Assuming you have a request handler named "/browse":

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

if (executor != null)
{
    executor.Handler = "/browse";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文