目录
Apache Solr 是一个强大的开源搜索平台,广泛应用于各种搜索和数据分析应用中。本文将介绍 Solr 中最常用的命令,涵盖安装与配置、Core 和 Collection 管理、索引管理、查询与检索、Schema 管理、以及备份与恢复等方面。
一、Solr 安装与配置
1.1 下载与安装
1.1.1 下载 Solr
从 Solr 官方网站 下载最新版本。
1.1.2 安装 Solr
tar xzf solr-8.8.2.tgz
cd solr-8.8.2
1.2 启动与停止
1.2.1 启动 Solr
bin/solr start
1.2.2 停止 Solr
bin/solr stop
1.2.3 启动特定端口上的 Solr
bin/solr start -p 8983
1.2.4 查看 Solr 运行状态
bin/solr status
二、Core 和 Collection 管理
2.1 创建与删除
2.1.1 创建新的 Core
bin/solr create -c mycore
2.1.2 删除 Core
bin/solr delete -c mycore
2.1.3 创建新的 Collection
bin/solr create -c mycollection -n data_driven_schema_configs
2.1.4 删除 Collection
bin/solr delete -c mycollection
2.2 核心操作
2.2.1 重载 Core
bin/solr reload -c mycore
2.2.2 重命名 Core
bin/solr rename -c oldname -newname newname
2.2.3 查看所有 Cores
bin/solr cores
三、索引管理
3.1 添加与删除文档
3.1.1 添加单个文档
curl http://localhost:8983/solr/mycore/update?commit=true -d '{"id":"1", "title":"Solr Guide"}'
3.1.2 删除单个文档
curl http://localhost:8983/solr/mycore/update?commit=true -d '{"delete":{"id":"1"}}'
控制台删除文档
<delete><query>ID:551712</query></delete>
3.1.3 删除符合条件的文档
curl http://localhost:8983/solr/mycore/update?commit=true -d '{"delete":{"query":"title:Solr Guide"}}'
3.2 批量操作
3.2.1 批量添加文档
curl http://localhost:8983/solr/mycore/update?commit=true --data-binary @documents.json -H 'Content-type:application/json'
3.2.2 批量删除文档
curl http://localhost:8983/solr/mycore/update?commit=true -d @delete_query.json -H 'Content-type:application/json'
3.3 提交与优化
3.3.1 提交更改
curl http://localhost:8983/solr/mycore/update?commit=true
3.3.2 优化索引
curl http://localhost:8983/solr/mycore/update?optimize=true
四、查询与检索
4.1 基本查询
4.1.1 简单查询
curl http://localhost:8983/solr/mycore/select?q=title:Solr
4.1.2 分页查询
curl http://localhost:8983/solr/mycore/select?q=title:Solr&start=0&rows=10
4.1.3 排序查询
curl http://localhost:8983/solr/mycore/select?q=title:Solr&sort=id asc
4.2 高级查询
4.2.1 过滤查询
curl http://localhost:8983/solr/mycore/select?q=title:Solr&fq=author:John
4.2.2 字段查询
curl http://localhost:8983/solr/mycore/select?q=title:Solr&fl=id,title
4.2.3 范围查询
curl http://localhost:8983/solr/mycore/select?q=price:[10 TO 50]
五、Schema 管理
5.1 字段管理
5.1.1 添加新字段
curl -X POST -H 'Content-type:application/json' --data-binary '{
"add-field":{
"name":"newfield",
"type":"string",
"stored":true }
}' http://localhost:8983/solr/mycore/schema
5.1.2 删除字段
curl -X POST -H 'Content-type:application/json' --data-binary '{
"delete-field":{
"name":"newfield"}
}' http://localhost:8983/solr/mycore/schema
5.2 字段类型管理
5.2.1 添加字段类型
curl -X POST -H 'Content-type:application/json' --data-binary '{
"add-field-type":{
"name":"newtype",
"class":"solr.TextField",
"analyzer":{
"tokenizer":{
"class":"solr.StandardTokenizerFactory"}}}
}' http://localhost:8983/solr/mycore/schema
5.2.2 删除字段类型
curl -X POST -H 'Content-type:application/json' --data-binary '{
"delete-field-type":{
"name":"newtype"}
}' http://localhost:8983/solr/mycore/schema
六、备份与恢复
6.1 创建备份
6.1.1 创建快照
curl http://localhost:8983/solr/admin/cores?action=BACKUP&core=mycore&location=/path/to/backup/dir
6.1.2 创建 Collection 备份
bin/solr create_collection_backup -c mycollection -d /path/to/backup/dir
6.2 恢复备份
6.2.1 恢复快照
curl http://localhost:8983/solr/admin/cores?action=RESTORE&core=mycore&location=/path/to/backup/dir
6.2.2 恢复 Collection 备份
bin/solr restore_collection_backup -c mycollection -d /path/to/backup/dir
通过上述命令,您可以有效地管理和操作 Solr,确保搜索平台的高效运行和数据的完整性。