объединить LocalParams с SolrMultipleCriteriaQuery? - PullRequest
0 голосов
/ 19 октября 2011

Кто-нибудь знает, как объединить SolrMultipleCriteriaQuery и LocalParams (в SOLRnet) ?

Я пробовал такие вещи, как thad (не беспокойтесь о плохом коде, простоtest)

         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();
        }

То, что я пытаюсь сделать, это множественный выбор фасетов с оператором «ИЛИ».

Спасибо за помощь!

1 Ответ

0 голосов
/ 09 января 2013

Вы должны быть в состоянии добавить 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");
}
...