如何将多个 "bq" 参数传递给 SolrNet 中的 LocalParams?

How do I pass multiple "bq" arguments to LocalParams in SolrNet?

LocalParams其实只是幕后的Dictionary<string, string>

但是,我想传递多个使用键 "bq" 的提升查询。显然,任何添加我的第二个 "bq" 密钥的尝试都将失败并显示 An item with the same key has already been added.

var lp = new LocalParams();
lp.Add("bq", "ContentType:Update^3.0");
lp.Add("bq", "ContentType:Comment^0.5"); // Error occurs here...

传递多个 Boost 查询(或多个任何东西,真的)的诀窍是什么...

上面的评论让我进入了 ExtraParams。

我认为它不会工作,因为那是 Dictionary<string, string>(因此让我处于同样的情况),但 actual property definitionIEnumerable<KeyValuePair<string, string>>。它只是在构造函数中设置为 Dictionary<string,string>

所以我这样做了:

var extraParams = new List<KeyValuePair<string, string>>();
extraParams.Add(new KeyValuePair<string, string>("bq", "SomeQuery^10"));
extraParams.Add(new KeyValuePair<string, string>("bq", "SomeOtherQuery^10"));

var options new new QueryOptions();
options.ExtraParams = extraParams; //Since my List implements the right interface

solr.Query(myQuery, options)

我的测试表明它按预期工作。