2

レールにルビーが付いた黒点を使用しています。その正常に動作します。DBにフィードされるコンテンツは、リッチテキストエディターから取得されるため、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

フィルター チェーン (schema.xml で構成) で HTML ストリップ トークナイザーの 1 つを使用することもできます。

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

Nokogiri に解析ステップを追加するよりもおそらく効率的です。

于 2010-12-22T19:46:28.360 に答える