@dir = dir
@sources = {}
@sources_dirty = false
- @qparser ||= Ferret::QueryParser.new :default_field => :body, :analyzer => Ferret::Analysis::WhiteSpaceAnalyzer.new(true)
+
+ wsa = Ferret::Analysis::WhiteSpaceAnalyzer.new true
+ sa = Ferret::Analysis::StandardAnalyzer.new Ferret::Analysis::FULL_ENGLISH_STOP_WORDS, true
+ @analyzer = Ferret::Analysis::PerFieldAnalyzer.new wsa
+ @analyzer[:body] = sa
+ @qparser ||= Ferret::QueryParser.new :default_field => :body, :analyzer => @analyzer
self.class.i_am_the_instance self
end
def usual_sources; @sources.values.find_all { |s| s.usual? }; end
def load_index dir=File.join(@dir, "ferret")
- wsa = Ferret::Analysis::WhiteSpaceAnalyzer.new false
- sa = Ferret::Analysis::StandardAnalyzer.new
- analyzer = Ferret::Analysis::PerFieldAnalyzer.new wsa
- analyzer[:body] = sa
-
if File.exists? dir
Redwood::log "loading index"
- @index = Ferret::Index::Index.new(:path => dir, :analyzer => analyzer)
+ @index = Ferret::Index::Index.new(:path => dir, :analyzer => @analyzer)
else
Redwood::log "creating index"
field_infos = Ferret::Index::FieldInfos.new :store => :yes
field_infos.add_field :refs
field_infos.add_field :snippet, :index => :no, :term_vector => :no
field_infos.create_index dir
- @index = Ferret::Index::Index.new(:path => dir, :analyzer => analyzer)
+ @index = Ferret::Index::Index.new(:path => dir, :analyzer => @analyzer)
end
end