Sitecore 7 Lucene:从计算字段中剥离HTML
我正在将计算字段中“文章”节点的所有“段落”子节点粘贴在一起。这是为了实现一篇文章可以通过其段落内容进行搜索和查找 为了实现这一点,我在Sitecore 7 Lucene:从计算字段中剥离HTML,lucene,sitecore,sitecore7,Lucene,Sitecore,Sitecore7,我正在将计算字段中“文章”节点的所有“段落”子节点粘贴在一起。这是为了实现一篇文章可以通过其段落内容进行搜索和查找 为了实现这一点,我在节点下执行了以下操作: <field fieldName="Paragraphs" storageType="YES" indexType="TOKENIZED"> MyWebsite.ComputedFields.Paragraphs,MyWebsite </field> 关于如何实现这一点的任何其他线索(通过配置,而不是使用
节点下执行了以下操作:
<field fieldName="Paragraphs" storageType="YES" indexType="TOKENIZED">
MyWebsite.ComputedFields.Paragraphs,MyWebsite
</field>
关于如何实现这一点的任何其他线索(通过配置,而不是使用HTML agility pack等)问题在于
mapFieldByFieldName
希望将Sitecore项中的字段与该名称匹配,而不是索引中的自定义计算字段,因此永远不会调用字段读取器
我不知道如何从配置中实现这一点,但如果您不想直接使用HAP,但愿意使用一些代码,那么在将字段粘贴到computed field类中后,只需执行Sitecore在GetPlainText()方法中所做的操作即可:
string input = "concatenated string";
return HttpUtility.HtmlDecode(Regex.Replace(input, "<[^>]*>", string.Empty));
string input=“串联字符串”;
返回HttpUtility.HtmlDecode(Regex.Replace(输入“]*>”,string.Empty));
或者使用util方法Sitecore.StringUtil.RemoveTags(text)
是的,我直接调用了GetPlainText()
:new-HtmlField(x.Fields[“Body”]).GetPlainText()
string input = "concatenated string";
return HttpUtility.HtmlDecode(Regex.Replace(input, "<[^>]*>", string.Empty));