Tomcat 上的 Apache Solr Admin 部署在 WebApps 目录中

KM.*_*KM. 5 installation tomcat solr apache-2.2

我正在尝试让 Apache Solr 在 Redhat6 和 Tomcat6 上工作(使用这些说明),但是在浏览到管理部分时出现此错误http://localhost:8080/solr-example/admin

HTTP 状态 404 - 路径中缺少核心名称

类型状态报告

消息在路径中缺少核心名称

描述 请求的资源(路径中缺少核心名称)不可用。

http://localhost:8080/solr-example 加载良好,带有指向“Solr Admin”的链接。

我的设置如下:

tomcat6: /etc/tomcat6
Solr: /app/solr/example
Run Code Online (Sandbox Code Playgroud)

我有一个solr-example.xmlin /etc/tomcat6/Catalina/localhost/,上面写着:

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/app/solr/example/apache-solr-3.4.0.war" debug="0" crossContext="true">
  <Environment name="solr/home" type="java.lang.String" value="/app/solr/example" override="true"/>
</Context>
Run Code Online (Sandbox Code Playgroud)

我在日志 ( /var/log/tomcat6) 中没有看到任何内容……只有 catalina.out 中的内容是关于 tomcat6 的启动和停止。

我的问题是:

1.我还需要做什么才能让“Solr Admin”在Tomcat下工作?

2.这些“核心”应该在哪里指定?我在 /app/solr/example/solr/solr.xml 中看到一个条目?

<solr persistent="false">
      adminPath: RequestHandler path to manage cores.  
        If 'null' (or absent), cores will not be manageable via request handler
      <cores adminPath="/admin/cores" defaultCoreName="collection1">
        <core name="collection1" instanceDir="." />
      </cores>
    </solr>
Run Code Online (Sandbox Code Playgroud)

3.如何确保日志正常工作?我找不到包含上述 404 提及的日志。

更新以回应@quanta 的评论

  1. 下载前 (apache-solr-3.4.0.tgz)
  2. dataDir 未设置,现在设置为: <dataDir>${solr.data.dir:../solr/data}</dataDir>
  3. JAVA_OPTS: /usr/lib/jvm/java/bin/java -classpath :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
  4. catalina.out 不包含上述错误的指示

qua*_*nta 1

您的solrconfig.xml位置/app/solr/example/conf

|-- README.txt
|-- apache-solr-3.4.0.war
|-- bin
|-- conf
|   |-- admin-extra.html
|   |-- elevate.xml
|   |-- mapping-FoldToASCII.txt
|   |-- mapping-ISOLatin1Accent.txt
|   |-- protwords.txt
|   |-- schema.xml
|   |-- scripts.conf
|   |-- solrconfig.xml
|   |-- spellings.txt
|   |-- stopwords.txt
|   |-- stopwords_en.txt
|   |-- synonyms.txt
|   |-- velocity
|   `-- xslt
|-- data
|   |-- index
|   `-- spellchecker
`-- solr.xml
Run Code Online (Sandbox Code Playgroud)

如果将 设为dataDir../solr/data则意味着该目录...不存在。因此,将其更改为绝对路径/app/solr/example/data并重试。