FullTextSession fullTextSession = Search
.createFullTextSession(session);
QueryParser parser = new QueryParser("columnValue",
new StandardAnalyzer());
org.apache.lucene.search.Query luceneQuery = parser
.parse(value);
Query hibQuery = fullTextSession.createFullTextQuery(
luceneQuery, ColumnBean.class); list = hibQuery.list();这是一段搜索代码,但这样只能做到精确搜索,我希望能模糊搜索,该怎么做?

解决方案 »

  1.   

    xxx "like '%" + value  + "%'"
      

  2.   

    使用like关键字 
    或使用
    Criteria criteria = session.createCriteria(ColumnBean.class);
    criteria.add(Restrictions.sqkRestriction(xx,xx,xx.ANYWHERE));
    List list = criteria.list()
      

  3.   

    哥哥,姐姐,不是hibernate 的hql查询哦,是搜索引擎
    hibernate search 封装了lucene的开发哦,请看清我问的什么哦
      

  4.   

    先要建立索引,然后获得FullTextSession,搜索。我就是不知道为啥还要传入一个lucene的query查询,感觉不太爽。
      

  5.   

    这样就行了。。List cList = s.createCriteria(EmpRegister.class)
                  .add(Expression.like("columnValue","%12%")).list();
      

  6.   

    用hibernate查询like的信息,查出来保存为索引再用lunce查hibernate创建的索引
      

  7.   

    哎,很多人都回答错了,是hibernate search 搜索引擎,不是简单的sql 模糊查询哦
      

  8.   

    hibernate search 搜索引擎是不是Hibernate+lunce集成?本人是这样理解的,呵呵最终是通过Hibernate的搜索出来的东西,再创建lunce搜索的索引,加快搜索的速度直接用hibernate search 搜索还是没用过!帮不上忙了
      

  9.   

    <property name="hibernate.search.default.indexBase">   
              E:/temp/index    
    </property>  如果我放在虚拟主机上
    <property name="hibernate.search.default.indexBase">   
             classpath:index  //这样写好像有错,请指教
    </property>