簡體   English   中英

可選元素或布爾屬性

[英]Optional element or boolean attribute

我正在定義一個XML模式,該模式將包含將(重新)導入到Solr中進行處理的搜索查詢信息。 我想為查詢結果保存的方面之一是是否訪問了它們,以及是否訪問了多長時間。 現在,我想知道如何最好地在結構中定義此數據,我可以對'result'元素使用屬性,也可以添加可選的子元素來保存所有單擊信息。

具有屬性:

<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中時,我想知道最有效的結構是什么。 在將信息加載到數據庫或索引之前,這些差異是否會對轉換過程產生明顯影響?

我會親自考慮屬性,原因是

  • 它總是使您清楚該元素是否是clicket(我從未喜歡過的邏輯,例如“如果我未指定,則假定A”)
  • xml總是具有相同的結構,無論元素是否被訪問,這看起來都不是什么大問題,但是使解析更容易且更不容易出錯
  • 您可以節省空間,因為添加屬性而不是添加新標簽要便宜一些,但情況並非總是如此,因為這取決於單擊元素的頻率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM