我正在定义一个 XML 模式,该模式将包含搜索查询信息,这些信息将被(重新)导入 Solr 进行处理。我要为查询结果保存的方面之一是它们是否被访问过,如果是的话,需要多长时间。现在我想知道如何最好地在我的结构中定义这些数据,我可以为“结果”元素使用属性,也可以添加一个可选的子元素来保存单击时的所有信息。
带有一个属性:
<result index="1" clicked="true">
<timeViewed>45.21</timeViewed>
<title>Alpha</title>
</result>
<result index="2" clicked="false">
<title>Beta</title>
</result>
带有子元素:
<result index="1">
<clickInfo timeViewed="45.21"/>
<title>Alpha</title>
</result>
<result index="2">
<title>Beta</title>
</result>
最后,按照这个问题:
<result index="1">
<clicked timeViewed="45.21">true</clicked>
<title>Alpha</title>
</result>
<result index="2">
<clicked>false</clicked>
<title>Beta</title>
</result>
由于我会将大量这些 XML 文件索引到 Solr 和可能的 MongoDB 中,我想知道最有效的结构是什么。在将信息加载到数据库或索引之前,这些差异是否会对转换过程产生显着影响?