使用Solr索引参数化产品

时间:2012-09-18 09:42:22

标签: parameters solr indexing

我们必须在我们的在线商店准备新的搜索功能。我想知道我们可以使用Solr。但我对此有些怀疑。我们报价中的每一件产品都是参数化的。实际上产品是一堆参数。它有一个符号,另一个符号,生产者,参数,param,param。我们对产品的一切都是他们的参数。有些参数是单值,有些是多值的。

是否可以索引我们的产品数据库并让我们的用户按产品参数进行过滤?这对我们来说非常重要,因为我们的客户已经习惯使用高级过滤进行搜索。那么用多种语言索引这些参数呢?

感谢您的帮助!

哦,还有一件事,Solr只能用一个词的一部分进行搜索吗?例如,我有一个带有symbom ABCDEFG的产品。如果搜索ABC或DEFG怎么办? Solr可以处理这样的搜索吗?

2 个答案:

答案 0 :(得分:2)

您可以通过不同的参数字段进行过滤或刻面(分面允许浏览内容 - 我想这就是您要寻找的内容)。使用多种语言进行索引也不是问题 - 现有支持基础结构 - 请参阅SOLR语言标识说明。有一点需要注意 - 拥有大量字段+许多(数百万甚至更多)记录+多个方面将消耗大量内存并且“可能”会降低性能。 谈到ABC或DEFG - 为什么不使用通配符? ABC *或 DEFG。 ABC 开箱即用,* DEFG消耗更多资源,需要一个特殊的分析器 - 它只是将你的字段编入一个反向顺序的特殊字段。

希望这有帮助。

答案 1 :(得分:-1)

你在谈论solr facet吗? solr有一个非常好的方面实现。看一下这个: http://wiki.apache.org/solr/SolrFacetingOverview

对于你的第二个问题,solr无法解决这个问题。您必须编写自己的lucene分析器,以便在索引期间将单词拆分为多个部分。您可以在solr schema.xml中配置自己的分析器。您需要先查看什么是lucene分析仪。实现分析仪并不困难。尝试使用trie或java treeset。或者你可以在google上找到一些强大的分析器实现。