命令行工具

bin/solr 命令

# bin/solr -help

Usage: solr COMMAND OPTIONS
       where COMMAND is one of: start, stop, restart, status, healthcheck, create, create_core, create_collection, delete

  Standalone server example (start Solr running in the background on port 8984):

    ./solr start -p 8984

  SolrCloud example (start Solr running in SolrCloud mode using localhost:2181 to connect to ZooKeeper, with 1g max heap size and remote Java debug options enabled):

    ./solr start -c -m 1g -z localhost:2181 -a "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044"

Pass -help after any COMMAND to see command-specific usage information,
  such as:    ./solr start -help or ./solr stop -help

COMMAND

  • start

  • stop

  • restart

  • status

  • healthcheck

  • create

  • create_core

  • create_collection

  • delete

solr start

OPTIONS

  • -f:在前台启动 solr,ctrl+c 用来停止 solr;默认情况下,solr 在后台启动,并会将 stdout/stderr 输出到 solr-PORT-console.log,例如,如果端口为 8983,则该日志文件为 solr-8983-console.log

  • -c 或 -cloud:以 SolrCloud 模式启动 solr,如果 -z 未提供,一个内建的 ZooKeeper 实例会在 solr 的端口 +1000 上启动,例如,solr 端口为 8983,则该 zk 的端口为 9983

  • -h <host>:指定该 solr 实例的 hostname

  • -p <port>:指定 solr 的 http 监听端口,默认值为 8983,同时,以下端口也会相应绑定:停止端口(-1000),jmx rmi 端口(1****,**** 是 http 监听端口)

  • -d <dir>:指定 solr 服务器目录,默认目录是 server

  • -z <zkHost>:Zookeeper 连接串,仅当 solr 以 SolrCloud 模式运行时使用。不指定该选项,则使用内建的 Zookeeper

  • -m <memory>:设定 jvm 堆的最小(-Xms)和最大(-Xmx)值为 memory,即 -Xms=-Xmx=memory,默认为 512m

  • -s <dir>:设定 solr.solr.home 环境变量,solr 在该目录下创建 core 目录;这样就可以在一个主机上运行多个 solr 实例。如果设置该选项,在指定的目录下应该有一个 solr.xml 文件,除非该文件在 zookeeper 上。如果使用了选项 -e,则该选项将被忽略。默认值是 server/solr

  • -e <example>:运行示例,可用的示例有

    • cloud:SolrCloud 示例

    • techproducts

    • dih:Data Import Handler

    • schemaless

  • -a:启动 solr 时需要传递给 jvm 的额外参数,这些参数多数情况下应该用双引号引起来

  • -noprompt:不提示输入

  • -V:显示详细的信息

solr stop

solr status

在当前机器上查找正在运行的 solr 实例,并返回其基本信息

solr create

创建一个 core 或者 collection,基于 solr 的运行模式:standalone(core)或者 SolrCloud(collection) 模式。

换言之,该操作会检查 solr 的运行模式,并使用合适的操作(create_core或者create_collection)

solr create_core

选项

  • -c <core> :要创建的 core 的名称

  • -d <confdir>:创建一个新的 core 时从中复制配置信息的目录。可以使用内建的配置,或者指定一个自己的配置目录

    • 内建配置,如果不指定默认采用 data_driven_schema_configs

      • basic_configs: 最小化的 solr 配置

      • data_driven_schema_configs: Managed schema with field-guessing support enabled

      • sample_techproducts_configs: 示例配置,有多项可选的特性以用来演示 solr 的全部功能

  • -p <port>:想要创建 core 的 solr 实例的端口,如果不指定的话,会自动查找运行中的 solr 实例并在第一个被找到的实例下创建该 core

solr create_collection

选项

  • -c <core>:要创建的 collection 的名称

  • -d <confdir>:创建一个新的 collection 时从中复制配置信息的目录。可以使用内建的配置,或者指定一个自己的配置目录

    • 内建配置,如果不指定默认采用 data_driven_schema_configs

      • basic_configs: 最小化的 solr 配置

      • data_driven_schema_configs: Managed schema with field-guessing support enabled

      • sample_techproducts_configs: 示例配置,有多项可选的特性以用来演示 solr 的全部功能

      默认情况下,脚本会将配置目录上传到 zookeeper,使用和 collection 一样的名字。如果想要重用一个已存在的目录或在 zookeeper 里创建一个可被多个 collection 共享的配置目录,使用 -n 选项

  • -n <configName>:在 zookeeper 里为配置目录命名,默认会和 collection 同名

  • -shards <#>:将该 collection 切割为几个 shard,默认是 1 个

  • -replicationFactor <#>:每个 collection 里的文档有几个 copy,默认是 1(即没有副本 replication)

  • -p <port>:想要创建 collection 的 solr 实例的端口,如果不指定的话,会自动查找运行中的 solr 实例并在第一个被找到的实例下创建该 collection

bin/post 命令

solr 用于查找匹配搜索的文档,没有文档啥也找不到,在 solr 能做什么之前,他需要输入。

bin/post 可以提交多种类型的数据到 solr,包括 solr 自身的 xml,json 格式文件,csv,富文本文件的目录,甚至是简单的 web 爬取

实战

启动 solr,创建一个 core

添加文档

Last updated