后置工具
Solr 包含一个简单的命令行工具,用于将各种类型的内容发布到 Solr 服务器,该服务器是 bin/solr
CLI 的一部分。
此工具旨在供探索 Solr 功能的新用户使用,并不打算作为将文档编入生产系统的可靠解决方案。 |
您可能熟悉 SimplePostTool 和 bin/post Unix shell 脚本。虽然它仍然可用,但已弃用,并且将在 Solr 10 中删除。 |
要运行它,请打开一个窗口并输入
$ bin/solr post -url http://localhost:8983/gettingstarted/update example/films/films.json
这将联系 localhost:8983
上的服务器。-help
(或仅 -h
)选项将输出有关其用法的详细信息(即 bin/solr post -help)
。
使用 bin/solr post 工具
使用 bin/solr post
时,您必须指定 url
(即更新处理程序的完整路径)或提供 c
集合/核心名称。
这指定了相同的目标集合:-url http://localhost:8983/gettingstarted/update
或 -c gettingstarted
。
bin/solr post
的基本用法是
$ bin/solr post -h
Usage: post -url http://localhost:8983/gettingstarted/update [OPTIONS] <files|directories|urls|-d ["...",...]>
or post -help
OPTIONS
=======
Solr options:
-url <base Solr update URL>
-commit issue a commit
-u or -user <user:pass> (sets BasicAuth credentials)
Web crawl options:
-recursive <depth> (default: 1)
-delay <seconds> (default: 10)
Directory crawl options:
-delay <seconds> (default: 0)
stdin/args options:
-type <content/type> (default: application/json)
Other options:
-filetypes <type>[,<type>,...] (default: xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log)
-params "<key>=<value>[&<key>=<value>...]" (values must be URL-encoded; these pass through to Solr update request)
-out output the Solr responses to console
-format solr (sends application/json content as Solr commands to /update instead of /update/json/docs
Examples:
* JSON file: bin/solr post -url http://localhost:8983/wizbang/update events.json
* XML files: bin/solr post -url http://localhost:8983/records/update article*.xml
* CSV file: bin/solr post -url http://localhost:8983/signals/update LATEST-signals.csv
* Directory of files: bin/solr post -filetypes xml,json,csv -url http://localhost:8983/myfiles/update ~/Documents
* Web crawl: bin/solr post -mode web -url http://localhost:8983/gettingstarted/update -recursive 1 -delay 1 https://solr.net.cn/
* Standard input (stdin): echo '{commit: {}}' | bin/solr post -mode stdin -url http://localhost:8983/my_collection/update -out
* Data as string: bin/solr post -url http://localhost:8983/signals/update -mode args -type text/csv -out $'id,value\n1,0.47'
使用 bin/solr post 的示例
有几种使用 bin/solr post
的方法。本节提供几个示例。
编制 XML 索引
将所有文件扩展名为 .xml
的文档添加到名为 gettingstarted
的集合中。
bin/solr post -url http://localhost:8983/solr/gettingstarted/update *.xml
将所有文件扩展名为 .xml
的文档添加到在端口 8984
上运行的 Solr 中的 gettingstarted
集合中。
bin/solr post -url http://localhost:8984/solr/gettingstarted/update *.xml
发送 XML 参数以从 gettingstarted
中删除文档。
bin/solr post -url http://localhost:8983/solr/gettingstarted/update -mode args -type application/xml '<delete><id>42</id></delete>'
编制 CSV 和 JSON 索引
将当前目录中的所有 CSV 和 JSON 文件编入 gettingstarted
中
bin/solr post -c gettingstarted -filetypes json,csv .
将制表符分隔的文件编入 gettingstarted
中
bin/solr post -url http://localhost:8984/solr/signals/update -params "separator=%09" -type text/csv data.tsv
需要内容类型(-type
)参数来将文件视为适当的类型,否则它将被忽略并记录一条警告,因为它不知道 .tsv 文件是什么类型的文件。 CSV 处理程序 支持 separator
参数,并使用 -params
设置传递。
编制 JSON 索引
将所有 JSON 文件编入 gettingstarted
中。
bin/solr post -url http://localhost:8983/solr/gettingstarted/update *.json
编制富文档索引(PDF、Word、HTML 等)
将 PDF 文件编入 gettingstarted
中。
bin/solr post -url http://localhost:8983/solr/gettingstarted/update a.pdf
自动检测文件夹中的内容类型,并递归扫描文档以编入 gettingstarted
中。
bin/solr post -url http://localhost:8983/solr/gettingstarted/update afolder/
自动检测文件夹中的内容类型,但将其限制为 PPT 和 HTML 文件,并索引到 gettingstarted
中。
bin/solr post -url http://localhost:8983/solr/gettingstarted/update -filetypes ppt,html afolder/