【问题标题】:How we changes standard query handler我们如何更改标准查询处理程序
【发布时间】:2012-11-15 08:18:49
【问题描述】:

我正在使用 solrnet 我创建了一个新的处理程序,并希望将标准查询处理程序“select”更改为“new”,而不使用任何额外的参数,如“qt”或 defType。

目前 "http://localhost:8080/solr/select?q=:"

想要 "http://localhost:8080/solr/new?q=:"

请告诉我这是否可能?

【问题讨论】:

    标签: solrnet


    【解决方案1】:

    SolrNet Google Groups 中的 Changing Handler Endpoint in SolrQueryExecutor 帖子指出,为了做到这一点,您需要按照所述修改 SolrQueryExecutor:

    问题:在我们的 Solr 实例上,我们已将搜索端点从“/ 选择”到“/搜索”。我在 SolrQueryExecuter 中看到有一个 仅返回“/select”的 DefaultHandler 的 Handler 属性。有没有办法改变它以使用我的端点?

    答案: 没错,您需要在 SolrQueryExecuter 中更改该属性。 你如何做到这一点取决于你的 IoC 容器。例如,使用内置容器,您将 Remove() IsolrQueryExecuter 并添加您自己的具有更改的处理程序属性。 这是很少见的事情,通常我只是设置不同的请求处理程序,而不是作为端点,而是作为常规名称,然后您可以使用 qt 参数来选择一个。

    【讨论】:

      【解决方案2】:

      如果您只想调用不同的请求处理程序,您可以获取 IsolrQueryExecuter 的实例并相应地设置处理程序。无需用具体的装饰器替换内置的 SolrQueryExecuter。

      Startup.Init<T>(new SolrConnection("http://localhost:8080/solr")),
      
      var executor = ServiceLocator.Current.GetInstance<ISolrQueryExecuter<T>>() as SolrQueryExecuter<T>;
      executor.Handler = "/new";
      

      顺便说一句,您的网址似乎缺少集合的名称。

      【讨论】:

        【解决方案3】:

        使用最新版本的 SolrNet(我在 .net 4.6 中使用过)。 在 QueryOptions 中定义一个新的 RequestHandlerParameters,如下所示:

        using CommonServiceLocator;
        using SolrNet;
        using SolrNet.Commands.Parameters;
        
        Startup.Init<MwDoc>("http://localhost:8983/solr/mycore");
        var solr = ServiceLocator.Current.GetInstance<ISolrOperations<MyClass>>();
        
        QueryOptions options = new QueryOptions()
                    {
                        RequestHandler = new RequestHandlerParameters("/new"),
                        // define your other Options here
                    };
        solr.Query("keyword to search", options);
        

        【讨论】:

          猜你喜欢
          • 2012-01-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-19
          • 2023-01-18
          • 2012-03-24
          • 1970-01-01
          • 2019-08-28
          相关资源
          最近更新 更多