2017-02-14 5 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}}]' 

Но это обновление происходит только на документе, чей идентификатор «rekhta.org/ghazals/Alama_3.8»

Как обновить документы, которые содержат идентификатор «газели» (например rekhta.org/ газели /Alama_3.8). я получаю документы, используя регулярное выражение д = ID: * * Ghazal но не может обновить документы с помощью завиток с регулярным выражением

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

Solr версия: 4.10.3

ответ

0

Вы будете должны получить все документы и выполнить обновление самостоятельно. В Solr нет способа выполнить одно обновление против нескольких документов (например, «Обновление по запросу»).

Правильный способ сделать это - выполнить запрос (с использованием подстановочного символа или совпадения регулярных выражений), выполнить цикл через документы и затем отправить сообщение об обновлении (либо в виде массового сообщения, либо в виде отдельных запросов, в зависимости от того, как многие обновления, которые вы выполняете), который изменяет содержимое тех документов, которые вы получили.

 Смежные вопросы

  • Нет связанных вопросов^_^