我gooled并搜索标题,返回了很多关于如何为层次结构/嵌套字段创建QUERY的结果,但没有明确的答案如何在schema.xml中定义它。
让我非常具体,说我有以下格式的json记录(非常简化的版本):
办公室字符串
城市字符串
邮政编码字符串
家庭
城市字符串
邮政编码字符串
城市字符串
如果我只想索引/存储home.city,那么我将如何在schema.xml的“字段”中定义它?
答案 0 :(得分:0)
模式必须是所有字段的并集,因为一个集合只有一个包含所有内容的真实定义。
所以:城市, zipcode ,可能类型来区分。加上Solr对父母/子女关系管理的要求( id , _root _ , _version _ )。
如果字段不同,则需要确保仅在一种类型而非另一种类型中发生的字段是可选的。
假设您将子记录编入索引为单独的文档。如果要将它们全部合并到一个父文档中,则需要在客户端上对内容进行折叠。 ElasticSearch为您提供了更好的界面,但是 - 在封面下 - 单个真实定义的问题仍然是相同的(它们来自Lucene,两者都使用)。
答案 1 :(得分:0)
Solr不支持嵌套字段。如果您正在寻找 具有上述功能的搜索引擎,您可以尝试弹性搜索。弹性搜索还有其核心,它提供了比solr提供的更多功能,就可扩展性,全文搜索功能,自动分片,轻松导入数据导出而言。