我们正在创建一个娱乐网站,我们希望能够搜索事件、餐厅和酒吧、电影、艺术和戏剧以及电视/广播。
所有这些显然都有与之相关的不同字段。
餐厅将具有以下字段:名称、地址、类别、描述
一部电影将具有以下字段:名称、剧院名称、剧院地址、时间、描述
艺术与剧院:名称、地址、 field 名称
我应该将所有这些存储在同一个索引中吗?您如何建议共享公共(public)字段并为每种内容类型创建独特的字段?
有时会单独搜索,有时可能会一起搜索。
最佳答案
这里是关于单个索引和多个索引之间的一些权衡的帖子。
根据您所显示的字段内容,我建议使用名称、地址、描述
的通用字段,然后根据需要为每种类型添加特定字段。对于其他字段,您可以利用 Dynamic Fields 的功能。如果您不想预先定义所有附加字段。
<dynamicField name="theater_*" type="string" indexed="true" stored="true" />
关于Solr 架构策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12940392/