【发布时间】:2016-06-21 10:54:54
【问题描述】:
我有以下用于存储字段的配置。
<fieldType fieldName="Profile Id" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.Guid" nullValue="NULL" emptyString="EMPTY" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />
当我使用 LukeAll 检查索引时,我看到的 id 为:
我不知道为什么大括号不见了,为什么所有的字符都是小写的。我想将它存储为普通的 guid,就像在带有花括号和所有大写字符的 sitecore 中一样。
我也试过type="System.string",但还是一样。
【问题讨论】:
-
在 Lucene 中存储不带括号的 guid 是一种常见的做法 - Sitecore 默认情况下会这样做。为什么要明确希望它们出现在索引中?
-
稍后在代码中比较两个字符串,一个来自
Sitecore Item Id,一个来自Index field。 -
为什么会阻止你?您可以使用 String.Contains 方法轻松比较两个字符串
-
如果你在做一个字符串比较,你可以使用 Guid.ToString 方法的格式参数 (msdn.microsoft.com/en-us/library/97af8hh4(v=vs.110).aspx) 来得到相同的格式。