레일 위의 루비와 흑점을 사용하고 있습니다. 잘 작동합니다. DB로 공급되는 내용은 서식있는 텍스트 편집기에서 가져온 것이므로 HTML 태그가 있습니다. 이 태그를 제거하고 내용을 표의 별도 필드에 저장해야합니까? 이를 사용하면 검색 엔진의 정확성이 향상됩니다.검색을 개선하려면 태그를 제거해야합니까?
2
A
답변
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
아마 더 효율적입니다.
HTMLStripStandardTokenizerFactory가 질식하는 것을 막론하고 HTML 형식의 마크 업에서 죽는 것을 보았습니다. 경고 emptor :) –