在 Hibernate Search 5 中访问目录
Access Directory in Hibernate Search 5
由于 HSearch 中的分面选项有限,我仍在使用 Bobo。
因此,我需要为 Bobo 提供 DirectoryReader 才能工作。
现在我正在尝试升级到 Hibernate Search 5,但我以前的获取方式已不再适用。
MutableSearchFactory factory = (MutableSearchFactory) fts.getSearchFactory();
DirectoryBasedIndexManager mgr = (DirectoryBasedIndexManager) factory.getAllIndexesManager().getIndexManager(clazz.getCanonicalName());
return DirectoryReader.open(mgr.getDirectoryProvider().getDirectory());
关于如何访问它有什么建议吗?
看来现在可以了
MutableSearchFactory factory = (MutableSearchFactory) fts.getSearchFactory().unwrap(MutableSearchFactory.class);
DirectoryBasedIndexManager mgr = (DirectoryBasedIndexManager) factory.getAllIndexesManager().getIndexManager(clazz.getCanonicalName());
不确定解包到 MutableSearchFactory
是否是个好主意。这个 class 确实是内部的。你可能最好打开 SearchIntegrator
这是一个 API:
SearchIntegrator searchIntegrator = getSearchFactory().unwrap(SearchIntegrator.class );
DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) searchIntegrator.getIndexManager(indexName)
由于 HSearch 中的分面选项有限,我仍在使用 Bobo。 因此,我需要为 Bobo 提供 DirectoryReader 才能工作。
现在我正在尝试升级到 Hibernate Search 5,但我以前的获取方式已不再适用。
MutableSearchFactory factory = (MutableSearchFactory) fts.getSearchFactory();
DirectoryBasedIndexManager mgr = (DirectoryBasedIndexManager) factory.getAllIndexesManager().getIndexManager(clazz.getCanonicalName());
return DirectoryReader.open(mgr.getDirectoryProvider().getDirectory());
关于如何访问它有什么建议吗?
看来现在可以了
MutableSearchFactory factory = (MutableSearchFactory) fts.getSearchFactory().unwrap(MutableSearchFactory.class);
DirectoryBasedIndexManager mgr = (DirectoryBasedIndexManager) factory.getAllIndexesManager().getIndexManager(clazz.getCanonicalName());
不确定解包到 MutableSearchFactory
是否是个好主意。这个 class 确实是内部的。你可能最好打开 SearchIntegrator
这是一个 API:
SearchIntegrator searchIntegrator = getSearchFactory().unwrap(SearchIntegrator.class );
DirectoryBasedIndexManager indexManager = (DirectoryBasedIndexManager) searchIntegrator.getIndexManager(indexName)