レールにルビーが付いた黒点を使用しています。その正常に動作します。DBにフィードされるコンテンツは、リッチテキストエディターから取得されるため、HTMLタグがあります。これらのタグを削除して、テーブルの別のフィールドにコンテンツを保存する必要がありますか?それを使用すると、検索エンジンの精度が向上しますか。
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 に答える