我在 luke 中运行以下 lucene 查询短语:
+(debtorNumber:10200000 originalDebtorNumber:10200000) +(serviceName:"skype
for"^840.0 (serviceName:for* serviceId:for*) (serviceName:skype*
serviceId:skype*))
显示在开头的预期结果,例如:
面向经理的 Skype for Business
Microsoft Skype for Business 会议 (Plan2)
Skype for Business 会议的电话拨入
等等。
使用休眠搜索执行的相同查询显示不同的结果:/
例如,我得到以下结果:
为您的 PC、笔记本电脑或服务器提供防病毒保护
瘦客户端的中央管理
Skype for 出现在第 3 或第 4 页。
java代码是:
SearchManager = Search.getSearchManager(cache)
CacheQuery<MyType> query = searchManager.getQuery(booleanQuery, MyType.class)
List<MyType> pagedResulat = query
.maxResults(criteria.getPageSize())
.firstResult(Math.toIntExact(criteria.getOffset()))
.list()
这记录了我在 Luke 中使用的上述查询
log.info("Lucene Search boolean query:" + booleanQuery);
请指教。