Могу ли я хранить и присоединяться на основе внешних атрибутов в Lucene / Solr - PullRequest
0 голосов
/ 12 июня 2010

Есть ли способ хранить информацию о документах, которые хранятся в Lucene, так что мне не нужно обновлять весь документ, чтобы обновить определенные атрибуты о документах?

Например, допустим, у меня была куча документов, и я хотел обновить список разрешений, которым было разрешено просматривать документы ежедневно или чаще.Можно ли будет обновлять все разрешения каждый день, не обновляя все документы.Я мог бы сделать это, сохраняя точно, какие разрешения были добавлены и удалены, но я бы предпочел просто взять конечный список разрешений и использовать его, а не отслеживать все изменения разрешений и публиковать эти документыв Lucene.

Ответы [ 2 ]

1 голос
/ 13 июня 2010

Обновление отдельных полей не реализовано, см. этот связанный вопрос . Я согласен с Karussell в том, что не нужно хранить разрешения в Solr, это больше похоже на работу для RDBMS. Помните, что индексы Lucene - это действительно плоские структуры.

0 голосов
/ 12 июня 2010

Я думаю, вам придется обновить весь документ, а не только свойства / поля.

Для вашей проблемы я бы не стал хранить информацию о разрешениях в lucene / solr.Я бы использовал базу данных, чтобы проверить, может ли пользователь просматривать документ.Например, добавьте роли «admin», «default» и / или «anonymous» к каждому документу в многозначном поле «role», а затем, например, если пользователь вошел в систему как admin, отфильтруйте все запросы по роли «admin».

...