如何在 Solr 中进行分层搜索

  • 本文关键字:分层 搜索 Solr solr solr4
  • 更新时间 :
  • 英文 :


我试图了解如何满足我的搜索要求。

第一个是正常的产品搜索,我知道Solr可以适当地处理,您搜索一个术语,Solr返回相关文档。

第二个是搜索某个类别中的产品。我的数据库中有一个层次结构,该结构由一个包含许多子类别的类别组成,这些子类别具有产品。

问题是,当搜索一些非常具体的单词时,不应该使用第一种方法,而是应该搜索一个类别,并且只应该返回该类别中的产品,这对我来说是一个非常基本的SQL查询(从categoryId = 1000的产品中选择*)。

Solr是否应该或可以在第二种情况下使用?如果是这样,通常使用的方法是什么?

除了@Mysterion提出的过滤器查询之外,您还应该看看Solr Facets,它为您提供了非常强大的类似分类的搜索。

您可能还需要考虑categoryParentIds的多值字段,该字段将包含产品所在的父类别,因此与筛选器查询和/或分面相结合将获得父类别搜索。

是的,您可以在 Solr 中使用类似的方法,通过使用 categoryId 及更高版本来归因您的产品,同时搜索类似于 SQL 的添加过滤器查询,categoryId:10000

有关筛选器查询的详细信息,请查看此处 - http://wiki.apache.org/solr/CommonQueryParameters#fq

最新更新