2012-03-24 2 views
0

У меня есть поле datetime.Как удалить индексированные данные SOLR по запросу поля datetime с помощью curl?

<field name="rel_date" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/> 

Я пытаюсь удалить некоторые конкретные даты в поле rel_date с помощью curl-запроса.

curl http://$SOLR_IPADDR:$SOLR_PORT/solr/update/?commit=true -H "Content-Type: text/xml" -d "<delete><query>rel_date:\[2012-03-10\])</query></delete>" 

Но его получение Неверная ошибка строки даты на SOLR-ответе.

HTTP Status 400 - Недопустимая дата Строка: "[2012-03-10]

Как я могу удалить определенные даты на Solr записей с CURL запроса?

ответ

3

Вам также нужно время.

От DateField javadocs:

Поле даты должно иметь вид 1995-12-31T23: 59: 59Z Задний «Z» обозначает время UTC и является обязательным (см ниже для объяснения от UTC). Допустимые дробные секунды разрешены, если они не заканчиваются в конце 0 (но любая точность за миллисекунды будет проигнорирована). Все остальные части являются обязательными.

Смотрите также: http://lucidworks.lucidimagination.com/display/lweug/Solr+Date+Format

+0

Спасибо Маурисио. –

0

Я сделал это со следующими завитка комментарий:

локон Http: // $ SOLR_IPADDR: $ SOLR_PORT/Solr/обновление/фиксации = истина -H " Content-Type: текст/XML»-d "(rel_date: [2012-03-10T00: 00: 00Z к 2012-03-10T00: 00: 00Z])"

из задних вы должны изменить $ SOLR_IPADDR и $ SOLR_PORT из вашей среды.

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