Я пытаюсь добавить в проект функцию полнотекстового поиска. Я не хочу хранить полное содержимое всех документов, поэтому я решил использовать поле store = "false" для "content". Кроме того, есть логическое поле, чтобы указать, что документ удален или нет. Когда я создаю новый документ в Solr, он прекрасно работает. Но когда я обновляю поле is_deleted - «содержимое» оказывается потерянным из индекса, и я больше не могу искать этот документ.
Я нашел сообщение , в котором говорится, что поля не нужно сохранять при обновлении на месте, но у меня это не работает.
Некоторые детали:
Схема:
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="_version_" type="plong" indexed="false" stored="false" docValues="true"/>
<field name="is_deleted" type="boolean" indexed="false" stored="false" docValues="true"/>
<field name="content" type="text_general" indexed="true" stored="false" multiValued="true"/>
Добавление тестового документа с помощью обработчика "/ update":
{
"id": "doc1",
"is_deleted": false,
"content": "SEARCH ME"
}
Обновить документ:
{
"id": "doc1",
"is_deleted": {"set": true}
}
Использование Solr v 7.5.0.
Solr Документация по обновлению на месте ничего не говорит о необходимости сохранять все поля для этого типа обновления.