我如何使用solrnet正确进行dismax查询

问题描述

|| 我知道我需要添加以下代码以将其更改为dismax。
ExtraParams = new Dictionary<string,string> { {\"qt\",\"dismax\"} }
但是,如何传递\“ qf \”值?我无济于事:
new Dictionary<string,\"dismax\"},{\"qf\",\"field1 field2\"} }
var matchingItems = solr.Query(new LocalParams {{\"type\",\"field1 field2\"}} 
+ BuildQuery(parameters) ...
即使仅通过ExtraParams,我也会收到404错误的请求。 这是记录的查询 局部参数+ Extraparams
GETting \'q={!type=dismax qf=\'field1 field2\'}query text,start=0,rows=10,spellcheck=true,facet=true,facet.field=especialidadefacet,f.especialidadefacet.facet.mincount=1,facet.field=tipofacet,f.tipofacet.facet.mincount=1,facet.field=estadofacet,f.estadofacet.facet.mincount=1,qt=dismax\' from \'/select\'
只有额外的参数
GETting \'q=query text,qt=dismax\' from \'/select\'
    

解决方法

qt
参数选择一个请求处理程序。因此,如果您没有名为\'dismax \'的请求处理程序,并且定义了
qt=dismax
,则会得到404。 因此,要么定义qt = dismax和一个\'dismax \'请求处理程序,要么通过LocalParams使用dismax查询解析器。     ,(回复很晚,但值得在这里登陆的人) 尝试使用局部参数,结果将类似于:
solr.Query(new LocalParams {{\"type\",\"dismax\"},{\"qf\",\"myfield\"}} + new SolrQuery(\"solr rocks\"));
在以下位置查看LocalParams部分: https://github.com/mausch/SolrNet/blob/master/Documentation/Querying.md