2

我在轨道上使用带有红宝石的太阳黑子。它工作正常。输入数据库的内容来自富文本编辑器,因此它确实具有 HTML 标记。我是否需要剥离这些标签并将内容保存在表格中的单独字段中。使用它会提高搜索引擎的准确性。

4

2 回答 2

2

剥离标签永远不会受到伤害;噪音越小越好。

您可以使用 Nokogiri 轻松检索不带标签的文档文本:

require 'nokogiri'

xml = <<EOT
<xml>
  <node>This is some text.</node>
  <node>This is more text.</node>
</xml>
EOT

doc = Nokogiri::XML(xml)
puts doc.text

>> :!ruby test.rb
>> 
>>   This is some text.
>>   This is more text.
>> 

Nokogiri 具有合并相邻文本节点的选项,但使用普通的 Ruby 数组和字符串操作也很容易。

于 2010-12-22T17:58:31.497 回答
0

您还可以在过滤器链中使用 HTML Strip 标记器之一(在 schema.xml 中配置):

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.HTMLStripStandardTokenizerFactory

可能比在 Nokogiri 中添加解析步骤更有效。

于 2010-12-22T19:46:28.360 回答