1

dismaxに変更するには、次のコードを追加する必要があることを知っています。

ExtraParams = new Dictionary<string, string> { {"qt", "dismax"} }

しかし、どうすれば「qf」値を渡すことができますか?私は無駄にこれを試しました:

new Dictionary<string, string> { {"qt", "dismax"},{"qf","field1 field2"} }

var matchingItems = solr.Query(new LocalParams {{"type", "dismax"},{"qf","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, 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'
4

2 に答える 2

2

このqtパラメーターは、要求ハンドラーを選択します。したがって、「dismax」という名前のリクエストハンドラがなく、定義するとqt=dismax404が得られます。

したがって、qt =dismaxと'dismax'要求ハンドラーを定義するか、またはLocalParamsを介してdismaxクエリパーサーを使用します。

于 2011-05-24T02:02:13.483 に答える
0

(返信は非常に遅いですが、ここに着陸する人にとっては価値があります)

ローカルパラメータを使用してみてください。次のようになります。

solr.Query(new LocalParams {{"type", "dismax"},{"qf", "myfield"}} + new SolrQuery("solr rocks"));

https://github.com/mausch/SolrNet/blob/master/Documentation/Querying.mdのLocalParamsセクションを ご覧ください。

于 2015-05-26T18:13:49.190 に答える