在多个字段上使用SOLR进行搜索

时间:2014-08-28 05:48:35

标签: apache solr

我的SOLR实施有两个要求:

  1. 我需要能够同时搜索多个字段(最好使用字段提升)。这可以使用dismax解析器。

  2. 我还有一组特定的索引字段(例如性别字段)。我需要能够应用这些特定的过滤器(例如:选择?q = david& gender:male& status:married)。根据我对dismax的理解,这是不可能的。

  3. 请建议是否可以使用dismax(或edismax)处理第二项要求?现在我被迫使用标准查询解析器,即使我真的很喜欢dismax。

1 个答案:

答案 0 :(得分:0)

没有什么能阻止你使用dismax或edismax。使用qf告诉它默认搜索哪些字段,并使用fq来应用充当过滤器的查询。

/select?q=david&fq=gender:male&fq=status:married&qf=name^10 address^3

Filter Queries不会影响分数,并会单独缓存。如果您始终对性别和状态进行过滤,则可以将它们组合在一起以获取单个查询缓存(fq=gender:male AND status:married)。