Ath*_*hul 5 apache solr solrnet
我正在尝试通过SolrNet库实现Apache Solr搜索.到目前为止,我已经设法在我的机器中运行Solr实例并根据特定字段进行一些查询.我的代码看起来像这样
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
var results = solr.Query(new SolrQueryByField("id", "SP2514N"));
Run Code Online (Sandbox Code Playgroud)
这个工作正常,但是我想在没有指定字段的情况下进行查询,这样当我输入搜索关键字时,solr将查看可用的所有字段并返回结果.我找到了代码来实现它在SolrNet库中从这里开始
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
var results = solr.Query(new SolrQuery("SP2514N"));
Run Code Online (Sandbox Code Playgroud)
但这从来没有奏效,当我深入到底部时,我发现我需要在Solr实例中设置默认搜索字段,以便当没有其他选择时Solr将搜索那些字段(这是我理解它的方式我不确定这个).所以我去Solr设置默认字段,我拿了Solrconfig.XML并像这样编辑它
<requestHandler name="/query" class="solr.SearchHandler" default="true">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="wt">json</str>
<str name="indent">true</str>
<str name="df">text</str>
<str name="df">id</str>
</lst>
</requestHandler>
Run Code Online (Sandbox Code Playgroud)
[只是添加了 <str name="df">id</str>
这个字段作为额外].但这也没有帮助我被卡住了,任何人都可以告诉我如何在Solr中正确设置默认搜索字段?或者我在做其他任何错误的事情?
我在这里上传了我的Solrconfig文件
小智 5
我不了解SolrNet库,但要为搜索创建默认字段,您需要在schema.xml中定义DefaultSearchField,即<defaultSearchField>FieldName</defaultSearchField>
.
你可以找到这个文件@ <SOLR_HOME>\apache-solr-3.6.0\example\example-DIH\solr\testsyndrome\conf\schema.xml
我希望这就是你要找的东西.
归档时间: |
|
查看次数: |
11600 次 |
最近记录: |