`
yanlong137
  • 浏览: 21018 次
  • 性别: Icon_minigender_1
  • 来自: 邢台
社区版块
存档分类
最新评论

hibernate search ,lucene查询

阅读更多

hibenrate search的查询与lucene的查询基本相同下边我说一下简的查询过程,前担是我们已经建立索引库了。

1、获取FullTextSession 因为我们的索引是是在数据库发生事件时建立的。我们就要获取相关的session来取得以后的吕作

2、像我们hql查询一样,我们也需要定义一个查询的条件

3、因为是全文检索,我们已经对文章进行了分词的处理. 所以以我们也要对输入的文本进行分词的处理,

4、执行查询,由于我们刚学习,这里要看一个查询语句。

下边是hibernate search 的lucene查询源码

ArticleDAO dao = new ArticleDAO();
  String searchQuery = "new";
  FullTextSession ftsSession = Search
    .getFullTextSession(dao.getSession());
  String[] fields = { "articleTitle", "articleSummery" };
  QueryParser parset = new MultiFieldQueryParser(fields,
    new StandardAnalyzer());
  try {
   org.apache.lucene.search.Query luceneQuery = parset
     .parse(searchQuery);
   System.out.println(luceneQuery);
  } catch (ParseException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  ftsSession.close();

 

 

还有多条件查询String searchQuery = "Batman";
String[] productFields = {"title", "description"};
Map<String,Float> boostPerField = new HashMap<String,Float>(2);
boostPerField.put( "title", (float) 4);
boostPerField.put( "description", (float) 1);
QueryParser parser = new MultiFieldQueryParser(
productFields,
new StandardAnalyzer(),
boostPerField
);
org.apache.lucene.search.Query luceneQuery;
try {
luceneQuery = parser.parse(searchQuery);
}
catch (ParseException e) {
throw new RuntimeException("Unable to parse query: " + searchQuery, e);
}

 

 

下边是hibnerate search 的查询

FullTextSession ftSession = Search.getFullTextSession(session);
org.hibernate.Query query = ftSession.createFullTextQuery(luceneQuery,Item.class);
query = ftSession.createFullTextQuery(luceneQuery);
query = ftSession.createFullTextQuery(luceneQuery,Item.class,Actor.class);

List results = query.getResultList();

for (Item item : (List<Item>) results) {
display( "title: " + item.getTitle() + "\nDescription: " +
item.getDescription() );
}

 

 

在这里可以看到一些内容

分享到:
评论

相关推荐

    Hibernate 与 Lucene 的整合框架详解

    Hibernate Search 是一个基于 Hibernate ORM 和 Apache Lucene 的开源项目,它提供了将 Hibernate 实体类自动索引到 Lucene 索引中的功能。通过这种方式,可以实现对实体数据的快速全文搜索,并且这些操作与普通的 ...

    hibernate search

    2. **Hibernate 和 Lucene**:下载并准备好相关的库文件,包括但不限于 hibernate-search.jar、lucene-core.jar、hibernate-commons-annotations.jar 等。 3. **IDE**:选择一个合适的集成开发环境 (IDE) 进行开发...

    Hibernate Search In Action

    通过阅读这本书,读者不仅能够学会如何使用Hibernate Search进行日常的全文搜索开发,还能够深入了解Hibernate Search的设计原理以及与底层搜索引擎Lucene之间的关系。此外,本书还探讨了全文搜索的一些高级话题,...

    hibernateSearch+demo

    4. **查询构造**:Hibernate Search 支持 Lucene 查询语法,你可以使用 QueryBuilder 来构建复杂的查询表达式,包括关键词搜索、短语搜索、模糊搜索、范围查询等。 5. **分词器和分析器**:为了处理文本数据,...

    Hibernate Search配置及简单应用

    通常,这涉及到在`pom.xml`(如果你的项目是Maven)或`build.gradle`(如果是Gradle)文件中添加Hibernate Search和Lucene库。例如: ```xml &lt;groupId&gt;org.hibernate &lt;artifactId&gt;hibernate-search-orm ...

    hibernate search全文索引的创建及查询

    在Hibernate Search中,你可以使用Lucene的查询语法或者直接使用对象查询语言(OQL)进行全文搜索。以下是一个示例: ```java FullTextSession session = Search.getFullTextSession(entityManager); session....

    hibernate Search in action

    通过利用Lucene库的强大功能,Hibernate Search为开发者提供了在Java应用程序中执行高效、灵活的全文检索的能力。 Hibernate Search的主要目标是简化在数据库中进行复杂搜索的需求,使得开发人员可以快速地实现如...

    Hibernate搜索框架HibernateSearch.zip

    等通配符号),多关键字,模糊查询,排序等6,支持Clustering7,支持直接访问Lucene API8,对Lucene索引,API的高效管理Hibernate Search运行的环境如下:1、JDK或JRE 5.0以上2、Hibernate-Search以及相应的依赖包3...

    hibernate-search-5.5.4 api docset for Dash

    Hibernate Search 是一个强大的全文搜索引擎框架,它将Apache Lucene库集成到Hibernate ORM中,使得在Java应用程序中实现复杂的全文检索和分析功能变得简单。这个"hibernate-search-5.5.4 api docset for Dash"是...

    Getting Started with Hibernate Search

    Hibernate Search作为Hibernate Core的重要补充,为持久化领域模型提供了全文搜索查询的功能,将Lucene的搜索特性引入到Hibernate的世界中。本篇文章将深入探讨如何从零开始使用Hibernate Search,涵盖安装、配置、...

    hibernate_search.pdf

    - **构建查询**:Lucene查询和Hibernate Search查询的构造方法,包括通用查询、分页、排序和结果获取策略。 - **结果处理**:考虑性能因素,控制结果集大小,使用结果转换器,并理解查询结果。 - **过滤器**:基于...

    Hibernate Search in action (pdf && code)

    《Hibernate Search in Action》是一本深入探讨Hibernate Search技术的专业书籍,配合源代码一同学习,能够帮助读者更好地理解和应用这项强大的全文检索和分析框架。Hibernate Search是Hibernate ORM的一个扩展,它...

    基于Spring的Hibernate Search全文检索功能示例

    3. **Hibernate Search**:作为Hibernate的一个扩展,Hibernate Search提供了基于Lucene的全文检索功能,使得在数据库中的数据可以被快速、精确地搜索。 **二、集成Hibernate Search** 1. **配置依赖**:首先,你...

    hibernate search-3.4.0.Final-dist

    通过集成Lucene,Hibernate Search使得开发者能够在数据库中的对象模型上执行复杂的全文搜索,而无需直接与Lucene交互。这意味着开发者可以利用熟悉的Hibernate API来处理搜索操作,大大降低了学习成本。 在3.4.0....

    hibernate-search, Hibernate Search.zip

    hibernate-search, Hibernate Search Hibernate 搜索版本:5.8.0. Final - 13-09-2017描述针对Java对象的全文搜索这个项目提供 Hibernate ORM和全文索引服务( 如 Apache Lucene和 Elasticsearch

    Hibernate Search in Action

    5. 查询构建:Hibernate Search提供了Querydsl API和Lucene的原生查询API,可以创建复杂的布尔查询、短语查询、模糊查询等。这使得开发者能构建出灵活且精确的搜索条件。 6. 近实时搜索:由于Hibernate Search使用...

Global site tag (gtag.js) - Google Analytics