Solr:在 bool 字段上使用过滤器查询?

标签 solr

我有一个索引的存储 bool 字段,我试图将其用作过滤器:

<field name="is_instrumental" type="boolean" indexed="true" stored="true" />

但是,当我尝试将其用作 fq 参数时,查询返回零结果:
select?q=*:*&fq=is_instrumental:true&wt=xml&indent=true

<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">0</int>
    <lst name="params">
      <str name="indent">true</str>
      <str name="q">*:*</str>
      <str name="wt">xml</str>
      <str name="fq">is_instrumental:true</str>
    </lst>
  </lst>
  <result name="response" numFound="0" start="0"></result>
</response>

我已经尝试了我能想到的所有组合(真、假、1、0、真、假,也在引号中),无论我尝试什么,它都不会返回任何内容。其他字段(整数或字符串)的过滤器工作得很好。使用 Solr 4.1。

我错过了什么?

编辑:

solrconfig.xml: http://pastebin.com/kGWhQBma

架构.xml:http://pastebin.com/uqnYuuHR

最佳答案

您的查询语法没有问题 &fq=is_instrumental:true应该管用。

我的猜测是,您正在使用/select 请求处理程序的自定义版本,它正在实现一个自定义查询解析器,例如 eDisMax (Extended Dismax)解析器。也许&uf参数已设置为防止现场搜索。你能检查一下你的 solrconfig.xml,看看 <requestHandler name="/select" class="solr.SearchHandler"> 的默认值如何?配置定义?

关于Solr:在 bool 字段上使用过滤器查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15747590/

相关文章:

tomcat - Solr sint 类型限制

java - 使用正则表达式获取 url 的最后一部分

java - Lucidworks Fusion 4.1 使用 Javascript 查询管道转换结果文档

ruby-on-rails-3 - Sunspot_Rails - 页面上的未定义方法 `searchable'

performance - 我应该将 Solr 中存储字段的大小保持在最小吗?

mongodb - MongoDB 设置的全文搜索选项

search - 关于数据结构/查询功能的elasticsearch vs solr

Solr - 同一字段的多种类型

mysql - 在 Solr(或其他分面搜索引擎)中搜索/导航,正确的方法是什么?

php - mysql+php 中匹配相似列表