Solr:在哪里找到Luke请求处理程序

时间:2015-03-05 22:53:47

标签: solr solr4

我正在尝试在我的Solr索引中获取所有字段的列表,包括静态和动态字段。 Another SO answer建议使用Luke请求处理程序。

建议在此网址找到处理程序:

http://solr:8983/solr/admin/luke?numTerms=0

但是,当我在服务器上尝试此URL时,出现404错误。

我核心的管理页面在http://solr:8983/solr/#/mycore,所以我也尝试了http://solr:8983/solr/#/mycore/admin/luke。这也给了我另一个404。

有谁知道我做错了什么?我应该使用哪个网址?

3 个答案:

答案 0 :(得分:3)

首先,您必须启用Luke请求处理程序。请注意,如果您从示例solrconfig.xml开始,则可能不需要显式启用它,因为

<requestHandler name="/admin/" class="solr.admin.AdminHandlers" />

为你做。

然后,如果您需要以编程方式访问数据,则必须向http://solr:8983/solr/mycore/admin/luke发出HTTP GET请求(无哈希标记!)。响应是XML格式,但指定wt参数可以获得不同的格式(例如http://solr:8983/solr/mycore/admin/luke?wt=json

如果您只想查看SOLR Web界面中的字段,请从下拉菜单中选择您的核心,然后单击“模式浏览器”

答案 1 :(得分:2)

在Solr 6中,solr.admin.AdminHandlers已被删除。如果您的solrconfig.xml包含行<requestHandler name="/admin/" class="solr.admin.AdminHandlers" />,则无法加载。您将在日志中看到错误,告知您无法加载类org.apache.solr.handler.admin.AdminHandlers

您必须在solrconfig.xml中包含行

<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" />

但网址是特定于核心的,即http://your_server.com:8983/solr/your_core_name/admin/luke

您可以按如下方式指定参数 fl,numTerms,id,docId

  • /管理/卢克
  • /管理/卢克?FL =猫
  • /管理/卢克FL = ID&安培; numTerms = 50
  • /管理/卢克?ID = SOLR1000
  • /管理/卢克?的docId = 2

答案 2 :(得分:0)

您可以使用this Luke tool来探索Lucene索引。

您还可以使用solr管理页面: http://localhost:8983/solr/#/core/schema-browser