2011-08-10 71 views
0

搜索Magento全文搜索引擎和类似的方法,它会将结果存储在“data_index”字段中的catalogsearch_fulltext表中,它存储的值格式为 ,每个可搜索的属性用|分隔。 如Magento无效搜索结果

3003 |启用|无||产品名称| 1.99 |黄色| 0

这里存储SKU,地位,纳税类别,产品名称,价格,颜色等等等等 它存储所有的搜索属性值。

现在的问题是可配置的产品,它也将在同一块存储相关产品的名称,价格,状态像

3003 |启用|启用|启用|启用|无|无|无|无|产品名称|产品名称|相关产品名称1 |相关产品名称2 |相关产品名称3 | 1.99 | 2.00 | 2.99 | 3.99 |黄色|黑色|黄色|绿色| 0 | 0 | 0 | 0

那么,如果我从相关产品搜索任何单词,它还会列出主要可配置产品,因为它在“data_index”字段中包含该单词。

需要一些建议如何避免相关产品被包含在data_index中,以便我可以有完美的搜索结果。

感谢

回答

0

,我们也在考虑我们的搜索,以及和它已经令人惊讶地看到包含在全文表中的低效率。我们也有一些可配置的产品,它们有很多变体,他们在全文搜索中的人口是非常可怕的。

至于解决方案,我只能提供我的方法来解决问题(未完成,而是在过程中)。

我正在扩展Magento以包含一个事件侦听器来索引产品的过程(因为目录搜索索引是在全文本数据库被填充的时候)。一旦这个过程发生,我正在编写自己的模块来删除相关产品中的重复条目,并添加从CSV文件填充的添加其他搜索关键字术语的功能。

这应该会显着提高搜索速度,并返回更多相关的搜索结果。因为到目前为止,可配置产品正在搜索结果中获得“搜索偏好”。

这不像一个评论的答案,但它太长,不适合评论,但我认为这可能对你有益。一旦我得到我的模块工作,如果你愿意,我可以给你指导如何你可以自己实现一个类似的模块。

希望有帮助(如果只是为了道德支持,在magento的搜索斗争中)