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.shbin\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}"