Нужно ли удалять теги, чтобы улучшить поиск? - PullRequest
2 голосов
/ 22 декабря 2010

Я использую пятно с рубином на рельсах.Работает нормально.Содержимое, которое подается в БД, поступает из текстового редактора, поэтому у него есть HTML-теги.Нужно ли вырезать эти теги и просто сохранить содержимое в отдельном поле таблицы.Использует ли это, что улучшит точность поисковой системы.

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Снятие меток никогда не повредит;Чем меньше шума, тем лучше.

Вы можете легко получить текст документа без тегов, используя 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 Array и String.

0 голосов
/ 22 декабря 2010

Вы также можете использовать один из токенайзеров HTML Strip в цепочке фильтров (настроенный в schema.xml):

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

Возможно, более эффективно, чем добавление шага разбора в Nokogiri.

...