我正在尝试通过阅读几个 web 教程来为我的应用程序配置休眠搜索,大多数使用注释但我使用 xml 映射,而且,许多教程都说使用 spring 和 maven 而我不使用这些。
有人可以帮助并提供一些配置休眠搜索的起点,许多网络教程不适合我
该应用程序是一个 gwt 应用程序,在后端使用带有 hibernate 的 gilead
我正在尝试通过阅读几个 web 教程来为我的应用程序配置休眠搜索,大多数使用注释但我使用 xml 映射,而且,许多教程都说使用 spring 和 maven 而我不使用这些。
有人可以帮助并提供一些配置休眠搜索的起点,许多网络教程不适合我
该应用程序是一个 gwt 应用程序,在后端使用带有 hibernate 的 gilead
正如上一个答案中所指出的,Hibernate Search 没有 xml 配置。您可以通过 xml 配置 Hibernate,但不能通过 Search 配置。然而,由于 Hibernate Search 3.3 有一个替代方案,那就是编程配置 api - http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#hsearch-mapping-programmaticapi
有一个名为SearchMapping的对象。实例化后,它提供了一个流畅的 API 来配置搜索,就像您使用注释一样。使用键 *hibernate.search.model_mapping* 将配置的SearchMapping实例添加到您的 Hibernate Configuration实例,Search 将自动与 Hibernate Core 一起引导。没什么大不了的。你不需要春天。
搜索运行后,您可能需要编写几行代码来索引现有数据库。在线手册中有相应的代码。
最后但并非最不重要的是,您需要进行一些搜索。看看如何创建FulltextQuery。您的系统可能会永远获得某种搜索输入。您的任务是将搜索输入从“前端”转换为 Lucene 查询,然后您可以将其传递给 Search 以执行搜索并返回托管对象。
最后但并非最不重要的一点 - maven 是完全不同的东西。现在我们正在谈论构建系统。使用 maven,您可以从 JBoss Maven 存储库自动下载工件。但是,SourceForge 上也有 dist 捆绑包,这更符合您的需求。检查http://www.hibernate.org/subprojects/search/download以获取搜索下载信息。
希望这可以帮助。
http://docs.jboss.org/hibernate/search/3.3/reference/en-US/html_single/#d0e43
然而,Hibernate Search 本身有自己的一组注解(@Indexed、@DocumentId、@Field,...),到目前为止还没有其他配置。
我还记得在《Hibernate Search in Action》中看到过这样的东西,作者说对非注解配置的需求不多(我现在没有我的副本,所以,我可能错了)。估计需求还是不够。
请注意,Hibernate 本身可以通过 XML 进行配置,我假设您可以混合使用两者(用于 Hibernate 映射的 XML,用于 Hibernate Search 映射的注释)。