如何在Solr中进行分层搜索?

时间:2014-04-01 20:06:37

标签: solr solr4

我试图了解如何处理我的搜索要求。

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

第二个是搜索特定类别的产品。我的数据库中有一个层次结构,它包含一个包含许多子类别且具有产品的类别。

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

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

2 个答案:

答案 0 :(得分:1)

除了@Mysterion提出的过滤查询之外,你应该看一下Solr Facets,它会给你非常强大的类似icogory的搜索。

您还可能需要考虑categoryParentIds的多值字段,其中包含产品所在的父类别,因此与过滤查询和/或构面相结合将使您的父类别搜索。

答案 1 :(得分:0)

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

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