如何使用solr中包含的jetty目录及其文件和子目录服务?

时间:2017-02-19 11:57:04

标签: solr jetty

我在Windows 7上使用solr-6.4.1solr安装在W:\solr-6.4.1下 我希望提供位于solr结构之外的目录中的静态文件,理想情况是在另一个卷中,例如Z:\path\to\files

我应该在W:\solr-6.4.1\server\solr-webapp\webapp\WEB-INF\web.xml配置吗?

W:\solr-6.4.1之外的目录中提供什么(最小)指令而不与solr / jetty的其余配置冲突?

1 个答案:

答案 0 :(得分:3)

你可以这样做:

  • 创建一个名为W:\ solr-6.4.1 \ server \ contexts \ staticfiles.xml
  • 的文件
  • 其内容应为:

    <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
    <Configure class="org.eclipse.jetty.server.handler.ContextHandler">
      <Set name="contextPath">/scratch</Set>
      <Set name="handler">
        <New class="org.eclipse.jetty.server.handler.ResourceHandler">
          <Set name="resourceBase">Z:\path\to\files</Set>
          <Set name="directoriesListed">true</Set>
        </New>
      </Set>
    </Configure>
    
  • 重新启动solr,您应该能够访问http://localhost:8983/scratch/yourfile.txt

  • 中的静态文件

所以,不需要触摸solr webapp。另一方面,这可能在将来不起作用,你不能假设将使用jetty,这是一个实现细节。