2017-02-14 67 views
0

目前我使用这个命令:Solr的:如何部分更新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文件:* *加扎勒但使用卷曲正则表达式

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

Solr的版本无法更新文件:4.10.3

回答

0

你必须检索所有文档并自行执行更新。 Solr目前没有办法针对多个文档执行单个更新(即“按查询更新”)。

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