簡體   English   中英

Solr-多值字符串字段和具有多值的單值字符串之間有什么區別?

[英]Solr - what is the difference between multivalued string field and single valued string with multi values?

如果需要在單個字段名稱下為一組值建立索引,我應該使用多值字段還是應該使用單值字段並使該字段中的所有值都由空格分隔?

字段類型為字符串。

謝謝。

您可以將多值字段視為數組或列表...,對於您的問題,這取決於您將對該字段執行哪種操作。

如果您將經常向該字段中添加一些內容,則應使用多值字段。 您不必每次都添加一個新項目來設置單個字符串字段,只需將其添加到多值字段即可。 同樣,如果您使用多值字段,則在更新列表時無需了解整個列表。 但是對於單個字段,您需要知道其中的舊值。

使其更清楚;

假設您需要索引“ aaa bbb ccc” ..如果將它們放在單個字段中,它將類似於

<str>aaa bbb ccc</str>

並且如果需要在此字段中添加ddd,則實際上需要在該字段中添加aaa bbb ccc ddd(我假設您不想在每次更新時都檢查該字段的舊值)

但是如果您使用多值字段,對於aaa bbb ccc它將是類似

<field><str>aaa</str><str>bbb</str><str>ccc</str></field>

對於這種情況,當您需要添加ddd時,您不必知道舊值,只需添加ddd就可以了。

但是如果字段中也有刪除項,則應該使用單個字段,因為solr不支持從多值字段中刪除(盡管您可以通過修改源代碼輕松實現)

我希望能對您有所幫助...因為您所提供的信息太少了,無法給出清晰的答案

暫無
暫無

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

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