将LocalParams与SolrMultipleCriteriaQuery结合起来?

时间:2011-10-19 16:52:40

标签: c# solr solrnet

是否有人知道如何组合SolrMultipleCriteriaQuery和LocalParams (在SOLRnet中)

我尝试过像thad这样的东西(不要担心代码不好,只是为了测试)

         var test = solr.Query(BuildQuery(parameters), new QueryOptions
                        {
                            FilterQueries = getFilterQueries(),
                            Facet = new FacetParameters
                            {
                                Queries = new[] { 
                    new SolrFacetFieldQuery(new LocalParams {{"ex", "dt"}} + "ju_success") , new SolrFacetFieldQuery(new LocalParams {{"ex", "dt"}} + "dr_success") 
                }
                            }
                        });
    ...

         public ICollection<ISolrQuery> getFilterQueries()
                {
//Creating a List of SolrQueries
                    List<ISolrQuery> ISolrQueryList = new List<ISolrQuery>();

//Adding a new SolrQuery to the List. The Solr Query is contains Parameters for multi select
                    ISolrQueryList .Add(new LocalParams { { "tag", "dt" } } + Query.Field("dr_success").Is("simple"));

//Creating the MultipleCriteriaQuery and setting the Operator "OR"
                    var NewMultipleCriteriaQuery = new SolrMultipleCriteriaQuery(ISolrQueryList , "OR");

//Creating the Resultlist
List<ISolrQuery> Resultlist= new List<ISolrQuery>();
Resultlist.Add(NewMultipleCriteriaQuery);
    return Resultlist();
        }

我尝试做的是使用“OR”运算符的多选择面。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您应该可以将LocalParams添加到SolrMultipleCriteriaQuery

public ISolrQuery GetFilterQueries()
{
    List<ISolrQuery> iSolrQueryList = new List<ISolrQuery>();
    iSolrQueryList.Add(Query.Field("dr_success").Is("simple"));
    iSolrQueryList.Add(Query.Field("dr_success2").Is("simple2"));
    return new LocalParams { { "tag", "dt" } } + new SolrMultipleCriteriaQuery(iSolrQueryList, "OR");
}
相关问题