使用全文搜索引擎和类似方法搜索Magento,它会将结果存储在“data_index”字段中的catalogsearch_fulltext表中,其中它以类似的格式存储值 每个可搜索的属性用|分隔。 e.g
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 :(得分:0)
我们也正在调查我们的搜索,并且令人惊讶地看到全文表中包含的效率低下。我们也有一些可配置的产品,它们有很多变化,而且它们在全文搜索中的数量非常可怕。
至于解决方案,我只能提供解决问题的方法(未完成:而是在此过程中)。
我正在扩展Magento以将索引产品的事件监听器包含在内(因为目录搜索索引是在填充全文数据库的时候)。一旦该过程发生,我正在编写自己的模块以从关联产品中删除重复条目,并添加添加从CSV文件填充的其他搜索关键字术语的功能。
这应该可以有效地提高搜索速度,并返回更多相关的搜索结果。因为截至目前,可配置产品在搜索结果中获得“搜索偏差”。
这不是一个评论的答案,但它太冗长,不适合评论,但我认为这可能对你有益。一旦我让我的模块工作,如果你愿意,我可以告诉你如何自己实现类似的模块。
希望有所帮助(如果只是为了支持magento的搜索斗争)