如何创建 Solr 6 核?
How to create Solr 6 cores?
我已经在 Digital Ocean ubuntu 实例上安装了 Solr 6:
install_solr_service.sh solr-6.1.0.tgz
并验证 Solr 是 运行ning。但是,我无法通过 UI 或命令行创建任何核心。我尝试了各种不同的排列:
sudo ./solr create -c netest
包括
sudo ./solr create -c netest -d /opt/solr/server/solr/configsets/basic_configs/conf/
但它总是给我:
ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: /var/solr/data/netest/data
如果我提前创建目录:
sudo mkdir /var/solr/data/netest/
sudo mkdir /var/solr/data/netest/data
sudo chown -R solr:solr /var/solr/data
当我重新运行创建命令时,我得到:
ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: Can't find resource 'solrconfig.xml' in classpath or '/var/solr/data/netest'
如果我将 solrconfig.xml
复制到目录中并再次 运行 命令,我会得到:
ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: Can't find resource 'schema.xml' in classpath or '/var/solr/data/netest'
我被困在这个阶段,因为 google 没有帮助我找到从哪里获取或创建 schema.xml 文件。
有人可以帮忙吗?
试试这个方法
导航到 Solr/solr-6.1.0/server/solr/
创建新文件夹并将其命名为 netest。
从 Solr/solr-6.1.0/server/solr/configsets/basic_configs/
复制 conf 文件夹并将其粘贴到 netest 文件夹中。
现在您在终端上输入此命令 sudo ./solr create -c netest
这将使用 conf 文件夹中的配置文件创建名为 netest 的新内核
希望这对您有所帮助
如果您在核心目录中创建了 schema.xml
和 solrconfig.xml
,请尝试从核心管理页面添加核心,它应该可以工作。
您不应使用 root
,而是 solr
用户权限来创建 Solr 核心,因为数据文件夹(例如 /var/solr/data
)通常归 solr
所有。其次请注意,提供的 solr
shell 脚本仍在使用 Solr Admin UI 作为管理 Solr 的主要起点。
所以请尝试以下命令:
cd /opt/solr
sudo -u solr ./bin/solr create -c netest
sudo ls -la /var/solr/data
如有任何其他问题,请仔细检查:
- Solr 可通过管理员访问 UI(例如
curl -s http://localhost:8983/solr/
或 links
)。
jar
命令可用(它在您的 PATH
中)。
- 对于语法,运行:
bin/solr --help
在您的 Solr HOME 文件夹中。
要进行故障排除,请检查您的 Solr 日志(例如 /var/solr/logs/solr.log
)。
相关:SOLR-7826: Permission issues when creating cores with bin/solr as root user.
它的权限问题,所以尝试使用下面的命令创建一个新的核心,它会成功!
sudo -u solr bin/solr create -c demo
./solr create_core -c netest -d basic_configs
su - solr -c "/opt/solr/bin/solr create -c testcore -n
data_driven_schema_configs"
这个命令对我在 solr 6.60 中使用 sudo 用户有效。
我已经在 Digital Ocean ubuntu 实例上安装了 Solr 6:
install_solr_service.sh solr-6.1.0.tgz
并验证 Solr 是 运行ning。但是,我无法通过 UI 或命令行创建任何核心。我尝试了各种不同的排列:
sudo ./solr create -c netest
包括
sudo ./solr create -c netest -d /opt/solr/server/solr/configsets/basic_configs/conf/
但它总是给我:
ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: /var/solr/data/netest/data
如果我提前创建目录:
sudo mkdir /var/solr/data/netest/
sudo mkdir /var/solr/data/netest/data
sudo chown -R solr:solr /var/solr/data
当我重新运行创建命令时,我得到:
ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: Can't find resource 'solrconfig.xml' in classpath or '/var/solr/data/netest'
如果我将 solrconfig.xml
复制到目录中并再次 运行 命令,我会得到:
ERROR: Error CREATEing SolrCore 'netest': Unable to create core [netest] Caused by: Can't find resource 'schema.xml' in classpath or '/var/solr/data/netest'
我被困在这个阶段,因为 google 没有帮助我找到从哪里获取或创建 schema.xml 文件。
有人可以帮忙吗?
试试这个方法
导航到 Solr/solr-6.1.0/server/solr/
创建新文件夹并将其命名为 netest。
从 Solr/solr-6.1.0/server/solr/configsets/basic_configs/
复制 conf 文件夹并将其粘贴到 netest 文件夹中。
现在您在终端上输入此命令 sudo ./solr create -c netest
这将使用 conf 文件夹中的配置文件创建名为 netest 的新内核
希望这对您有所帮助
如果您在核心目录中创建了 schema.xml
和 solrconfig.xml
,请尝试从核心管理页面添加核心,它应该可以工作。
您不应使用 root
,而是 solr
用户权限来创建 Solr 核心,因为数据文件夹(例如 /var/solr/data
)通常归 solr
所有。其次请注意,提供的 solr
shell 脚本仍在使用 Solr Admin UI 作为管理 Solr 的主要起点。
所以请尝试以下命令:
cd /opt/solr
sudo -u solr ./bin/solr create -c netest
sudo ls -la /var/solr/data
如有任何其他问题,请仔细检查:
- Solr 可通过管理员访问 UI(例如
curl -s http://localhost:8983/solr/
或links
)。 jar
命令可用(它在您的PATH
中)。- 对于语法,运行:
bin/solr --help
在您的 Solr HOME 文件夹中。
要进行故障排除,请检查您的 Solr 日志(例如 /var/solr/logs/solr.log
)。
相关:SOLR-7826: Permission issues when creating cores with bin/solr as root user.
它的权限问题,所以尝试使用下面的命令创建一个新的核心,它会成功!
sudo -u solr bin/solr create -c demo
./solr create_core -c netest -d basic_configs
su - solr -c "/opt/solr/bin/solr create -c testcore -n
data_driven_schema_configs"
这个命令对我在 solr 6.60 中使用 sudo 用户有效。