Solr:如何使用正则表达式部分更新solr文档

时间:2017-02-14 07:30:04

标签: json curl solr

目前我正在使用此命令:

curl 'localhost:8983/solr/update?commit=true' -H 'Content-type:application/json' -d '[{"id":"rekhta.org/ghazals/Alama_3.8","pr":{"set":100}}]'

但是这个更新只发生在id为“rekhta.org/ghazals/Alama_3.8”的文件上

如何更新ID为“ghazals”的文档 (例如rekhta.org/ghazals/Alama_3.8)。 我使用正则表达式获取文档q = id:* ghazal *但无法使用 curl 更新文档正则表达式

curl 'localhost:8983/solr/update?commit=true' -H 'Content-type:application/json' -d '[{"id":"*ghazals*","pr":{"set":55}}]

Solr版本:4.10.3

1 个答案:

答案 0 :(得分:0)

您必须自行检索所有文档并执行更新。 Solr目前无法对多个文档执行单个更新(又名"按查询更新")。

执行此操作的正确方法是执行查询(使用通配符或正则表达式匹配),遍历文档然后提交更新消息(作为批量消息或单个请求,具体取决于多少更新您正在执行的内容),更改您已检索的文档的内容。