Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate FullTextQuery,没有搜索词吗?_Java_Hibernate_Filter_Lucene_Hibernate Search - Fatal编程技术网

Java Hibernate FullTextQuery,没有搜索词吗?

Java Hibernate FullTextQuery,没有搜索词吗?,java,hibernate,filter,lucene,hibernate-search,Java,Hibernate,Filter,Lucene,Hibernate Search,我正在重写一个Hibernate/lucene函数,findRangeSorting(),它根据权限过滤器检索表中的所有记录。现在,手工将HQL(HibernateSQL)字符串拼接在一起,并使用它们来查询数据库,这样做(非常糟糕) 我还有一个搜索函数,它使用更好的编程方法,使用hibernate注释为类创建过滤器,并将布尔查询组合到全文查询中,然后根据用户进行搜索的情况将过滤器添加到全文查询中。 (请注意,这不是全部功能) fullTextQuery=fullTextSession.creat

我正在重写一个Hibernate/lucene函数,findRangeSorting(),它根据权限过滤器检索表中的所有记录。现在,手工将HQL(HibernateSQL)字符串拼接在一起,并使用它们来查询数据库,这样做(非常糟糕)

我还有一个搜索函数,它使用更好的编程方法,使用hibernate注释为类创建过滤器,并将布尔查询组合到全文查询中,然后根据用户进行搜索的情况将过滤器添加到全文查询中。 (请注意,这不是全部功能)

fullTextQuery=fullTextSession.createFullTextQuery(bq,this.type);
结果=tab.getQueryFiltersForSearch(fullTextQuery).setSort(sort).list()

我想将此功能用于findRangeSorting()函数,因为过滤器已经就位,所以我基本上只需要让搜索返回所有内容。缺点是搜索“”和*无法完成此任务,因此我需要基本上创建一个FullTextQuery,而不必搜索实际的术语,或者可能找到另一种方法,使用基于用户权限的过滤器从表中检索一系列行


我对hibernate没有最好的理解,所以我的假设可能是完全错误的。感谢您的帮助

要创建一个与所有文档匹配的查询,您应该能够使用Lucene的。我不知道Hibernate
QueryBuilder
中有什么东西可以创建一个
MatchAllDocsQuery
,但是直接通过Lucene API创建一个非常简单,比如:

org.apache.lucene.search.Query allQuery = new org.apache.lucene.search.MatchAllDocsQuery();
fullTextQuery = fullTextSession.createFullTextQuery(allQuery, this.type); 
results = tab.getQueryFiltersForSearch(fullTextQuery).setSort(sort).list();