我是否需要剥离标签以改善搜索?

时间:2010-12-22 17:52:22

标签: ruby-on-rails ruby full-text-search solr sunspot

我在铁轨上使用红宝石和红宝石。它的工作正常。提供给数据库的内容来自富文本编辑器,因此它具有HTML标记。我是否需要剥离这些标记,只需将内容保存在表格的单独字段中即可。使用它会提高搜索引擎的准确性。

2 个答案:

答案 0 :(得分: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数组和字符串操作。

答案 1 :(得分:0)

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

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

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

相关问题