Индексировать несколько объектов с помощью Hibernate Search

Можно ли индексировать несколько объектов в одном индексе с помощью Hibernate Search? У меня есть 3 объекта: Пользователь, Категория и Кампания. Эти сущности не связаны друг с другом.

Мне нужно предоставить функциональность, в которой пользователь может выполнять поиск по этим объектам. Похоже на поиск в Facebook или Quora.

Например: https://www.facebook.com/search.php?q=Stackoverflow покажет все группы, страницы и т. д. с заданной строкой запроса.


person firefly    schedule 19.09.2011    source источник


Ответы (2)


Я понимаю, что это довольно старый вопрос, но я все равно опубликую ответ на этот вопрос, так как когда-нибудь он все еще может кому-то помочь.

Да, это возможно. Как это сделать описано здесь: http://docs.jboss.org/hibernate/search/4.2/reference/en-US/html_single/#section-sharing-indexes

person Niek Tax    schedule 06.03.2013
comment
Тем не менее, для меня это стирание других объектов и переиндексация только текущего объекта, который я прошу переиндексировать. Команда ftem.createIndexer().startAndWait(); запускает PurgeAllLuceneWork, а затем потоковая работа по повторной вставке текущих сущностей. - person ViniciusPires; 09.09.2015

Невозможно (AFAIK) индексировать несколько объектов в одном индексе, хотя вы можете одновременно запрашивать несколько индексов, используя метод FullTextSession.createFullTextQuery(Query, Class<?> ...). В вашем случае использование будет fullTextSession.createFullTextQuery(query, User.class, Category.class, Campaign.class);.

person RandomMooCow    schedule 17.04.2012