如何在 NHibernate.Search 中使用二级缓存?
我尝试在 FullTextQuery 上启用 SetCacheable,但它不起作用。
var session = Search.CreateFullTextSession(database.Session);
session.CacheMode = CacheMode.Normal;
var textQuery = session.CreateFullTextQuery(query, new[] { typeof(Job) });
textQuery.SetCacheable(true);
textQuery.SetCacheRegion("Job");
var jobs = textQuery.List<Job>();
return jobs;
对于缓存的所有其他标准查询,它运行良好,但对于 FullTextQueries,它没有,NHibernate.Search 仍然访问我的数据库。
请注意,NHibernate.Search 生成的查询是SELECT ... WHERE EntityId IN (Id1,Id2,Id3,...)