Alfresco: запрос Lucene по идентификатору возвращает 2 строки - PullRequest
2 голосов
/ 18 ноября 2011

Я использую Alfresco 3.4d и импортировал некоторые узлы, а также создал несколько с NodeService. Сегодня я заметил, что запрос Lucene по идентификатору иногда возвращает две строки вместо одной. Не все узлы демонстрируют такое поведение.

Например, когда я выполняю следующий запрос Lucene в браузере узлов Alfresco, я получаю результат, показанный ниже: ID:"workspace://SpacesStore/96c0cc27-cb8c-49cf-977d-a966e5c5e9ca"

enter image description here

Как вообще возможно, что запрос по идентификатору может возвращать более одной строки? Я пытался перестроить индекс Lucene, но это не помогло. Когда я удаляю узел, запрос возвращает 0 строк. Что я могу сделать, чтобы удалить эти "призрачные" узлы из результата запроса?

Ответы [ 3 ]

2 голосов
/ 30 ноября 2011

Я также столкнулся с этой проблемой и попросил поддержки у Alfresco. Они сказали мне, что вполне нормально иметь повторяющиеся записи в поле идентификатора lucene и что это связано с тем, присутствует ли ПРЕДСЕДАТЕЛЬ или нет. Они рекомендовали использовать поле sys: node-uuid при поиске lucene для идентификатора узла, например ::

@sys\:node-uuid:f13a21dd-b020-4c70-aa21-1a0e5c89d42b
2 голосов
/ 18 ноября 2011

Я видел эту проблему начиная с Alfresco 3.2r, но, возможно, она еще старше! Я использовал средство просмотра индекса Lucene "Luke" (http://www.getopt.org/luke/)), чтобы непосредственно проверить индекс, и увидел, что поврежденная запись индекса почти не содержит информации. В качестве обходного пути мы объединили наш поиск с некоторой базовой информацией, такой как тип узла или аспект. Я спрошу коллегу, есть ли у него дополнительная информация об этом.

0 голосов
/ 18 ноября 2011

Я не знаю напрямую, как это возможно, но в вашем «коде», где вы извлекаете узлы, которые вы всегда можете сделать: если node.isDocument или node.isContainer для получения истинного результата или типа, это cm: content или cm:папка.

Вы также можете попробовать переиндексировать, но я сомневаюсь, что это поможет

...