apache - 在 Apache Solr 中设置默认搜索字段

标签 apache solr solrnet

我正在尝试实现 Apache Solr搜索 SolrNet库。到目前为止,我已经成功地在我的机器上运行了一个 Solr 实例,并根据特定字段进行了一些查询。
我的代码看起来像这样

   var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
   var results = solr.Query(new SolrQueryByField("id", "SP2514N"));

这个现在工作正常,但我想在不指定字段的情况下进行查询,这样当我输入搜索关键字时,solr 将查看所有可用字段并返回结果。我找到了代码在来自 here 的 SolrNet 库中
        var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
        var results = solr.Query(new SolrQuery("SP2514N"));

但这从来没有奏效,当我深入到底部时,我发现我需要在 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>

[刚刚添加 <str name="df">id</str>这个字段作为额外的]。但这也从来没有帮助过我被卡住了,谁能告诉我如何在 Solr 中正确设置默认搜索字段?或者我做错了什么?
I have Uploaded My Solrconfig file here

最佳答案

我不知道 SolrNet 库,但要为搜索设置默认字段,您需要在 schema.xml 中定义 DefaultSearchField,即 <defaultSearchField>FieldName</defaultSearchField> .

你可以找到这个文件@ <SOLR_HOME>\apache-solr-3.6.0\example\example-DIH\solr\testsyndrome\conf\schema.xml
我希望这就是你正在寻找的。

关于apache - 在 Apache Solr 中设置默认搜索字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19263663/

相关文章:

Solrnet Paging - 如何从 .NET 设置 Start 和 Rows 参数?

javascript - .htaccess。给出 410 错误并重定向动态 php 页面

solr - 在 Azure 上运行 Solr

ruby-on-rails - ruby 2.1 rails 4 sunspot solr 测试在套件中失败但单独通过

c# - SolrNet:尝试添加和提交时出现 SolrConnectionException (400) 错误请求

c# - 如何在solrNet中查询

linux - 运行 Apache/Linux 的 AWS EC2 中的密码保护目录

apache - 映射 ElasticSearch apache 模块字段

linux - svn: E000002: 无法打开请求的 SVN 文件系统

full-text-search - Solr查询唯一整数字段