Solr-索引属性为键/值对的产品

问题描述

| 我目前正在研究开发一个Solr应用程序以在我们的电子商务网站上为产品建立索引。 模式中的一些示例字段为: 产品编号 产品名称 描述 价钱 类别(多值) 属性 属性是键值对的列表。 例如: 类型=玫瑰 位置=满阳 位置=阴影 颜色=红色 我将存储这些字段,以便可以从搜索结果中生成我的页面。 如何最好地表示这些? 我在想可能要为索引建立一些动态字段: 例如attribute_ *(attribute_position) 然后为存储的值“归因”(用于返回,显示)-存储多个字段 “属性”字段的值可以是(例如)Position | Full Sun-然后让客户端来处理显示? 有没有更好的方法可以做到这一点? 作为注脚,我将使用Solrnet作为查询的客户端(可能不相关)     

解决方法

首先,我不建议将整个文档存储在搜索引擎中。您应该在Solr中存储的唯一内容是希望搜索的内容。是的,它支持存储更多内容,但是,利用它可能会导致索引大小,主/从复制时间等问题。理想情况下,Solr中唯一要做的就是您要搜索/排序的内容和文档此ID唯一,足以从另一个为存储文档而优化的来源中获取文档数据。 但是,如果您决定忽略此建议,则可以轻松地将名称/值对存储在单个字段中。如果您的名称值对具有有限的字符集,则可以轻松地将名称值对连接为单个字符串。然后,在构建要显示的网页时在解析过程中对其进行解析。无需提出更复杂的架构来支持这一点。多个字段用于存储这些字段只会增加索引开销,而您一无所获。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...