是否可以将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

回到顶部