Solr 8.10 示例核心文件以及如何添加新核心
Solr 8.10 sample core files and how to add new cores
我使用的是常规 Solr 8.10.1(没有 Solr Cloud)
我开始喜欢C:\solr-8.10.1\bin\solr start -p 8983
我的文件夹结构:
- solr-8.10.1
- server
- solr
- configsets
- sample_techproducts_configs
- conf
- mytest
- conf
- lang
data-config.xml
managed-schema
protwords.txt
solrconfig.xml
stopwords.txt
synonyms.txt
- data
- samplecatalog
- conf
data-config.xml
schema.xml
solrconfig.xml
solr.xml
我还将文件从我的 solr 4.3.2 实例 samplecatalog
复制到 8.10.1 中的新文件夹。
但是当我到达 http://localhost:8983/solr/#/~cores
我看不到内核。
solr.xml
<?xml version="1.0" encoding="UTF-8" ?>
<solr>
<int name="maxBooleanClauses">${solr.max.booleanClauses:1024}</int>
<str name="sharedLib">${solr.sharedLib:}</str>
<solrcloud>
<str name="host">${host:}</str>
<int name="hostPort">${jetty.port:8983}</int>
<str name="hostContext">${hostContext:solr}</str>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
<int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
<str name="zkCredentialsProvider">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str>
<str name="zkACLProvider">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str>
</solrcloud>
<shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:600000}</int>
<int name="connTimeout">${connTimeout:60000}</int>
<str name="shardsWhitelist">${solr.shardsWhitelist:}</str>
</shardHandlerFactory>
</solr>
我只想为我的实体创建一个带有 schema.xml 处理程序和数据 config.xml 的示例核心文件夹,这样我就可以从该基础开始并进行扩展。
我查看了教程,但找不到任何示例,也找不到可以通过配置文件定义核心的位置。
我也checked here,但那是一个很旧的版本。
简短回答:cd
到 solr bin 目录和 运行 solr create -c "mytest"
(@see solr create
命令)。
基本上你可以按照这几个步骤来定义一个配置集并创建相应的核心。
- 在 solr 的
bin/solr.in.sh
或 bin\solr.in.cmd
中定义 SOLR_HOME
(放置 Solr 核心 config/data 的位置)或 windows 中的 bin\solr.in.cmd
。建议您将其与 solr 源代码和二进制文件分开。
- Create/move 您的配置设置在
SOLR_HOME
目录中并确保 solr 拥有所有权。
- 运行
solr create
命令
这是一个基于我经常使用的脚本的 bash 脚本(我注意到你在 windows 机器上,但原理保持不变):
#!/bin/bash
SOLR_SRC="/opt/solr" # symlink to your solr-<version> directory
SOLR_ROOT="/var/solr"
SOLR_HOME="${SOLR_ROOT}/data"
CORE="mytest"
# Create core config set in SOLR_HOME
cd ${SOLR_HOME}/
mkdir -p ${CORE}/data
# cp -R ${SOLR_SRC}/server/solr/configsets/_default/conf/ ./${CORE}/ # from default conf
cp -R ${SOLR_SRC}/server/solr/${CORE}/conf/ ./${CORE}/
# Set ownership
chown -R solr:solr ${SOLR_HOME}
# Create core
su - solr -c "${SOLR_SRC}/bin/solr create -c ${CORE}"
我使用的是常规 Solr 8.10.1(没有 Solr Cloud)
我开始喜欢C:\solr-8.10.1\bin\solr start -p 8983
我的文件夹结构:
- solr-8.10.1
- server
- solr
- configsets
- sample_techproducts_configs
- conf
- mytest
- conf
- lang
data-config.xml
managed-schema
protwords.txt
solrconfig.xml
stopwords.txt
synonyms.txt
- data
- samplecatalog
- conf
data-config.xml
schema.xml
solrconfig.xml
solr.xml
我还将文件从我的 solr 4.3.2 实例 samplecatalog
复制到 8.10.1 中的新文件夹。
但是当我到达 http://localhost:8983/solr/#/~cores 我看不到内核。
solr.xml
<?xml version="1.0" encoding="UTF-8" ?>
<solr>
<int name="maxBooleanClauses">${solr.max.booleanClauses:1024}</int>
<str name="sharedLib">${solr.sharedLib:}</str>
<solrcloud>
<str name="host">${host:}</str>
<int name="hostPort">${jetty.port:8983}</int>
<str name="hostContext">${hostContext:solr}</str>
<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
<int name="zkClientTimeout">${zkClientTimeout:30000}</int>
<int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
<int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
<str name="zkCredentialsProvider">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str>
<str name="zkACLProvider">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str>
</solrcloud>
<shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:600000}</int>
<int name="connTimeout">${connTimeout:60000}</int>
<str name="shardsWhitelist">${solr.shardsWhitelist:}</str>
</shardHandlerFactory>
</solr>
我只想为我的实体创建一个带有 schema.xml 处理程序和数据 config.xml 的示例核心文件夹,这样我就可以从该基础开始并进行扩展。 我查看了教程,但找不到任何示例,也找不到可以通过配置文件定义核心的位置。
我也checked here,但那是一个很旧的版本。
简短回答:cd
到 solr bin 目录和 运行 solr create -c "mytest"
(@see solr create
命令)。
基本上你可以按照这几个步骤来定义一个配置集并创建相应的核心。
- 在 solr 的
bin/solr.in.sh
或bin\solr.in.cmd
中定义SOLR_HOME
(放置 Solr 核心 config/data 的位置)或 windows 中的bin\solr.in.cmd
。建议您将其与 solr 源代码和二进制文件分开。 - Create/move 您的配置设置在
SOLR_HOME
目录中并确保 solr 拥有所有权。 - 运行
solr create
命令
这是一个基于我经常使用的脚本的 bash 脚本(我注意到你在 windows 机器上,但原理保持不变):
#!/bin/bash
SOLR_SRC="/opt/solr" # symlink to your solr-<version> directory
SOLR_ROOT="/var/solr"
SOLR_HOME="${SOLR_ROOT}/data"
CORE="mytest"
# Create core config set in SOLR_HOME
cd ${SOLR_HOME}/
mkdir -p ${CORE}/data
# cp -R ${SOLR_SRC}/server/solr/configsets/_default/conf/ ./${CORE}/ # from default conf
cp -R ${SOLR_SRC}/server/solr/${CORE}/conf/ ./${CORE}/
# Set ownership
chown -R solr:solr ${SOLR_HOME}
# Create core
su - solr -c "${SOLR_SRC}/bin/solr create -c ${CORE}"