2010-12-22 1 views
2

레일 위의 루비와 흑점을 사용하고 있습니다. 잘 작동합니다. DB로 공급되는 내용은 서식있는 텍스트 편집기에서 가져온 것이므로 HTML 태그가 있습니다. 이 태그를 제거하고 내용을 표의 별도 필드에 저장해야합니까? 이를 사용하면 검색 엔진의 정확성이 향상됩니다.검색을 개선하려면 태그를 제거해야합니까?

답변

2

스트립 태그는 결코 아프지 않습니다. 노이즈가 적을수록 좋습니다.

쉽게 노코 기리를 사용하여 태그를하지 않고 문서의 텍스트를 검색 할 수 있습니다

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. 
>> 

노코 기리 인접한 텍스트 노드를 병합 할 수있는 옵션을 가지고 있지만 너무 정상 루비 배열과 문자열 조작으로 쉽게 할 수 있습니다.

0

당신은 또한 (의 schema.xml에서 구성) 필터 체인의 HTML 스트립 tokenizers 중 하나를 사용할 수 있습니다 노코 기리의 구문 분석 단계를 추가하는 것보다

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

아마 더 효율적입니다.

+3

HTMLStripStandardTokenizerFactory가 질식하는 것을 막론하고 HTML 형식의 마크 업에서 죽는 것을 보았습니다. 경고 emptor :) –