更新时间:2024-11-29 GMT+08:00

Linux下的curl命令

安全模式

在Linux下执行curl的命令时,先要下载Solr的客户端进行安装。下载安装客户端参考Solr客户端安装指导资料。

  • Solr服务由于实现了SSL安全加密,为安全性考虑仅支持TLSv1.2协议。使用curl命令以HTTPS访问Solr服务时,需要curl也支持对应的TLSv1.2协议。

    如果需要支持TLSv1、TLSv1.1协议,可配置Solr服务支持该协议。选择“集群 > 待操作集群的名称 > 服务 > Solr > 配置”,选择“全部配置”,在“搜索”框里搜索“DISABLE_TLSV1_PROTOCOL”,为所有SolrServer实例选择“false”选项,单击“保存”,单击“确定”,重启Solr服务。

  • 创建索引和别名时指定的名称不建议过长,一般不推荐超过255字符,否则可能会影响ZooKeeper和Solr的性能,具体请见参数SOLR_COLLECTION_CORE_MAX_LENGTH。
  • 若处于IPV6环境时,curl命令需增加-6 -g参数,如创建索引命令:

    curl --negotiate -6 -g -k -v -u : "https://hostname:port/solr/admin/collections?action=CREATE&name=test1&collection.configName=confWithSchema&numShards=3&replicationFactor=1"

    -6:告知curl解析为IPv6地址;-g:关闭了“URL全局解析器”,即URL中可以包含{}[]符号。

  • SUSE 15.4操作系统下HDFS客户端中的共享链接库文件与curl命令存在不兼容,请单独下载并安装Solr客户端后进行curl命令操作。
  • 创建索引

    curl --negotiate -k -v -u : "https://hostname:port/solr/admin/collections?action=CREATE&name=test1&collection.configName=confWithSchema&numShards=3&replicationFactor=1"

  • 对索引添加文档

    curl --negotiate -k -v -u : -H "Content-Type: application/xml" -d "<add><doc boost=\"1.0\"><field name=\"id\">1</field><field name=\"name\">张三</field></doc></add>" "https://hostname:port/solr/test1/update?wt=json&commit=true"

  • 通过文件对索引添加文档

    curl "https://hostname:port/solr/test1/update" --negotiate -k -v -u : -H "Content-Type: text/xml" --data-binary @/tmp/test.xml

  • 查询索引

    curl --negotiate -k -v -u : "https://hostname:port/solr/test1/select?q=*&wt=json&indent=true"

  • 删除索引数据

    curl --negotiate -k -v -u : "https://hostname:port/solr/test1/update" -H "Content-Type: text/xml" --data-binary '<delete><query>*:*</query></delete>'

  • 删除索引

    curl --negotiate -k -v -u : "https://hostname:port/solr/admin/collections?action=DELETE&name=test1"

普通模式

可登录Solr集群任意节点,在Linux下执行curl命令进行对应操作。

  • 登录Manager,选择“集群 > 待操作集群的名称 > 集群属性”,查看“认证模式”确认集群是否处于普通模式。
  • 创建索引和别名时指定的名称不建议过长,一般不推荐超过255字符,否则可能会影响ZooKeeper和Solr的性能,具体请见参数SOLR_COLLECTION_CORE_MAX_LENGTH。
  • 若处于IPV6环境时,curl命令需增加-6 -g参数,如创建索引命令:

    curl --negotiate -6 -g -k -v -u : "https://hostname:port/solr/admin/collections?action=CREATE&name=test1&collection.configName=confWithSchema&numShards=3&replicationFactor=1"

    -6:告知curl解析为IPv6地址;-g:关闭了“URL全局解析器”,即URL中可以包含{}[]符号。

  • SUSE 15.4操作系统下HDFS客户端中的共享链接库文件与curl命令存在不兼容,请单独下载并安装Solr客户端后进行curl命令操作。
  • 创建索引:

    curl "http://hostname:port/solr/admin/collections?action=CREATE&name=test1&collection.configName=confWithSchema&numShards=3&replicationFactor=1"

  • 对索引添加文档:

    curl -H "Content-Type: application/xml" -d "<add><doc boost=\"1.0\"><field name=\"id\">2</field><field name=\"name\">张三</field></doc></add>" "http://hostname:port/solr/test1/update?wt=json&commit=true"

  • 通过文件对索引添加文档:

    curl "http://hostname:port/solr/test1/update" -H "Content-Type: text/xml" --data-binary @/tmp/test.xml

  • 查询索引:

    curl "http://hostname:port/solr/test1/select?q=*&wt=json&indent=true"

  • 删除索引数据:

    curl "http://hostname:port/solr/test1/update" -H "Content-Type: text/xml" --data-binary '<delete><query>*:*</query></delete>'

  • 删除索引:

    curl "http://hostname:port/solr/admin/collections?action=DELETE&name=test1"