Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过SolR Config API添加新的查询侦听器?_Solr - Fatal编程技术网

如何通过SolR Config API添加新的查询侦听器?

如何通过SolR Config API添加新的查询侦听器?,solr,Solr,我正在尝试使用SolR Config API添加新的查询侦听器。 为此,我将以下JSON发布到SolR core的Config API端点: { “添加侦听器”:{ “名称”:“listener1”, “类”:“solr.QuerySenderListener”, “事件”:“新闻搜索者”, “查询”:[{ “q”:“任何:无论什么”, “行”:“10”, “开始”:“0” } ] } } 此操作填充覆盖标准solrconfig.xml的“configoverlay.json”文件。此文件现在看

我正在尝试使用SolR Config API添加新的查询侦听器。 为此,我将以下JSON发布到SolR core的Config API端点:

{
“添加侦听器”:{
“名称”:“listener1”,
“类”:“solr.QuerySenderListener”,
“事件”:“新闻搜索者”,
“查询”:[{
“q”:“任何:无论什么”,
“行”:“10”,
“开始”:“0”
}
]
}
}

此操作填充覆盖标准solrconfig.xml的“configoverlay.json”文件。此文件现在看起来如下所示:

{
“听众”:{
“听众1”:{
“名称”:“listener1”,
“类”:“solr.QuerySenderListener”,
“事件”:“新闻搜索者”,
“查询”:[{
“q”:“任何:无论什么”,
“行”:“10”,
“开始”:“0”
}
]
}
}
}

出于某种原因,这种结构似乎不适合SolR。我在SolR日志中发现以下错误:

null:java.lang.ClassCastException:java.util.LinkedHashMap不能强制转换为org.apache.solr.common.util.NamedList
位于org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:47)
位于org.apache.solr.core.SolrCore$5.call(SolrCore.java:1835)
位于java.util.concurrent.FutureTask.run(未知源)
位于org.apache.solr.common.util.execututil$MDCAwareThreadPoolExecutor$1.run(execututil.java:210)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
在java.lang.Thread.run(未知源代码)

当然,与此事件关联的查询因此不会按预期执行

显然,查询格式不符合SolR的期望。。。我在SolR Config API文档中没有找到任何更新或创建事件的示例。 问题一定与
查询
对象的参数语法有关

如果您知道如何格式化json消息以生成适当的侦听器,请告诉我

如果有关系,我将使用SolR 5.3.1

p、 s:通过config API而不是solrconfig.xml执行此操作的目的是能够动态更改warming查询(以反映我们使用SolR进行搜索的产品中的配置更改)

纪尧姆