是否可以将SolrNet QueryOptions转换为Json字符串?
我从我的web应用程序的Solr的使用SolrNet发送Solr的请求,使用下面的代码:是否可以将SolrNet QueryOptions转换为Json字符串?
SolrQueryResults<MyClass> results= solrCustomWorker.Query(new SolrQuery(query), options);
其中期权价值是这样的:
options = new QueryOptions {
Rows = pageSize,
Start = (pageIndex - 1) * pageSize,
FilterQueries = _solrQuery.ToArray(),
OrderBy = new[] { new SolrNet.SortOrder("NameCopy", SolrNet.Order.ASC) },
Facet = new FacetParameters
{
Queries = _solr.ToArray(),
MinCount = minCount,
},
Stats = statsParams
};
现在我想添加对象缓存此请求所以如果正在处理相同的请求,则它将从缓存中获取值,而不是再次将请求发送到Solr。
任何人都可以请建议如何在我的快捷键中包含选项值?由于选项有facet,filterqueries,Extraperms字段等,这些值是数组格式。
我可以在json字符串中转换选项值吗?然后将其添加到我的键值。
回答:
我有转换使用下面的代码:
using System.Web.Script.Serialization; //code
string json = new JavaScriptSerializer().Serialize(options);
string solrRequestCacheKey = "solrRequestCacheKey-" + query + "-" + json;
var policy = new CacheItemPolicy();
SolrQueryResults<MyClass> temp;
if (CustomCache[solrRequestCacheKey] == null)
{
temp = solrCustomWorker.Query(new SolrQuery(query), options);
CustomCache.Add(solrRequestCacheKey, temp, policy);
}
results = (SolrQueryResults<MyClass>)CustomCache[solrRequestCacheKey];
使用序列我可以成功添加选项值到我的cachekey。
以上是 是否可以将SolrNet QueryOptions转换为Json字符串? 的全部内容, 来源链接: utcz.com/qa/259183.html