0

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

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

感谢帮助!

哦,还有一件事,Solr 可以只使用单词的一部分进行搜索吗?例如,我有一个符号为 ABCDEFG 的产品。如果搜索 ABC 或 DEFG 会怎样?Solr 可以处理这样的搜索吗?

4

2 回答 2

2

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

希望这可以帮助。

于 2012-11-13T12:18:35.873 回答
-1

你说的是solr方面吗?solr 有一个非常好的方面实现。看看这个: http ://wiki.apache.org/solr/SolrFacetingOverview 。

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

于 2012-09-18T10:58:15.520 回答