Solr4.0开始支持简单的原子更新和添加字段
参数说明
Solr支持多种修饰符,自动更新文档的值。
set
– 更新一个字段add
– 添加一个字段inc
– 在原有值的基础上增加(看下面的例子更清楚)
备注: 所有原始字段必须存储(在fieldType 里面设置 stored=true)
操作例子
第一步、添加一条数据
$ curl http:
//localhost:8983/solr/update -H 'Content-type:application/json' -d '
[
{
"id"
:
"book1"
,
"title"
:
"Snow Crash"
,
"copies_i"
: 5,
"cat"
:
"Science Fiction"
}
]'
第二步、修改一个字段author,把copies_i字段的值加3,添加一个cat字段
$ curl http:
//localhost:8983/solr/update -H 'Content-type:application/json' -d '
[
{
"id"
:
"book1"
,
"author"
: {
"set"
:
"Neal Stephenson"
},
"copies_i"
: {
"inc"
:3},
"cat"
: {
"add"
:
"Cyberpunk"
}
}
]'
第三步、查询一下数据的情况
$ curl http://localhost:8983/solr/get?id=book1
{
“doc”: {
“id”:”book1″,
“title”:[“Snow Crash”],
“copies_i”:8,
“cat”:[“Science Fiction”, “Cyberpunk”],
“author”:”Neal Stephenson”,
“_version_”:1408729977723027456}}
两个遗留问题:
用中文分词器的字段更新后丢失
solrj没有提供相应的方法,这部分有待研究一下
java例子下载