controller接收json数据_Solr的Index handler提交数据

Index handler

Index handler 索引处理器,是一种Request handler 请求处理器。

solr对外提供http服务,每类服务在solr中都有对应的request handler来接收处理,solr中提供了默认的处理器实现,如有需要,我们也可提供我们的扩展实现,并在conf/solrconfig.xml中进行配置。

在 conf/solrconfig.xml中,requestHandler的配置就像我们在web.xml中配置servlet-mapping(或spring mvc 中配置controller 的requestMap)一样:配置该集合/内核下某个请求地址的处理类。

solrconfig中通过updateHandler元素配置了一个统一的更新请求处理器支持XML、CSV、JSON和javabin更新请求(映射地址为/update),它根据请求提交内容流的内容类型Content-Type将其委托给适当的ContentStreamLoader来解析内容,再进行索引更新。

配置一个requestHandler示例

Xml 格式数据索引更新

请求头中设置 Content-type: application/xml or Content-type: text/xml

添加、替换文档

操作,支持两个可选属性:

  1. commitWithin:限定在多少毫秒内完成
  2. overwrite:指定当唯一键已存在时是否覆盖,默认true。
      Patrick Eagar    Sports    796.35    128        12.40    Summer of the all-rounder    0002166313    1982    Collins      ...  

删除文档

  0002166313  0031745983  subject:sport  publisher:penguin

操作,支持两种删除方式:

  1. 1、根据唯一键
  2. 2、根据查询

组合操作

                      0002166313  

响应的结果

Status=0表示成功

Qtime是耗时

    0    127  

提交、优化、回滚操作

commit、optimize 属性说明:

  • waitSearcher:默认true,阻塞等待打开一个新的IndexSearcher并注册为主查询searcher,来让提交的改变可见。
  • expungeDeletes: (commit only) 默认false,合并删除文档量占比超过10%的段,合并过程中删除这些已删除的文档。
  • maxSegments: (optimize only) 默认1,优化时,将段合并为最多多少个段

提交:

0b2c47cad8a236ad4ca1f66fc85faed5.png

删除:

4b720373821ae019540dd09cc1a657f9.png

JSON 格式数据索引更新

请求头中设置 Content-Type: application/json or Content-Type: text/json

添加、替换一个文档

{  "id": "1",  "title": "Doc 1"}

添加、替换多个文档

[  {    "id": "1",    "title": "Doc 1"  },  {    "id": "2",    "title": "Doc 2"  }]

在json中指定操作

{  "add": {    "doc": {      "id": "DOC1",      "my_field": 2.3,      "my_multivalued_field": [ "aaa", "bbb" ]       }  },  "add": {    "commitWithin": 5000,    "overwrite": false,      "doc": {      "f1": "v1",      "f1": "v2"    }  },  "commit": {},  "optimize": { "waitSearcher":false },  "delete": { "id":"ID" },    "delete": { "query":"QUERY" }}

根据唯一键删除的简写方式:

{ "delete":"myid" }

{ "delete":["id1","id2"] }

针对 JSON 格式数据提供的两个专用path

不需要在请求头中设置 Content-Type: application/json or Content-Type: text/json

path: /update/json

path:/update/json/docs 专门用于提交文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值