Solr — Как добавить метаданные в проиндексированные двоичные файлы, которые были проиндексированы через Solr Cell?

Я создаю приложение PHP, которое позволяет пользователю искать файлы с помощью Solr для обеспечения поиска. В основном это связано с тем, что приложению требуется поиск по содержимому документов Word и PDF-файлов. Приложение также использует базу данных MySql для отслеживания файлов.

Я думаю, что лучший способ изначально проиндексировать все файлы (вероятно, около 20 000) — это написать PHP-скрипт, который перебирает все файлы в определенном каталоге, добавляя каждый из них в индекс Solr и создавая для него запись в моем база данных.

Проблема в том, что сами файлы не содержат всех данных, которые необходимо проиндексировать. После того, как имя файла, содержимое, автор и т. д. были проиндексированы с помощью Solr Cell, мне нужно, чтобы пользователи приложения могли добавлять дополнительные метаданные, такие как теги и категории.

Я понимаю, что если бы пользователи добавили эти данные в базу данных MySql, я не смог бы обновить Solr дополнительными данными, не перезаписывая уже проиндексированные данные (контент и т. д.).

Итак, мой вопрос: как только файл был проиндексирован Solr, как я могу добавить в индекс дополнительные метаданные, которые не могут быть извлечены из самого файла с помощью экстрактора ячеек Solr?


person jd182    schedule 24.10.2012    source источник
comment
Чтобы сделать это как индексное время: wiki.apache.org/solr/ExtractingRequestHandler#Literals   -  person Jesvin Jose    schedule 26.10.2012


Ответы (1)


Если вы используете Solr 4.0, вы можете использовать функция частичного обновления документа, в которой вы можете добавлять только обновленные поля вместо того, чтобы указывать все поля.

person Jayendra    schedule 24.10.2012