I'm playing with "updating" docs in my index, and I think I've found bug
with IndexWriter counting deleted docs. Script and output follow:
=====
require 'rubygems'
require 'ferret'
p Ferret::VERSION
@doc = {:id => '44', :name => 'fred', :email => '[EMAIL PROTECTED]'}
@dir = Ferret::Store::RAMDirectory.new
def add_then_delete_fred
@writer = Ferret::Index::IndexWriter.new(:dir => @dir)
p "adding doc :[EMAIL PROTECTED]:id]}"
@writer << @doc
p "[EMAIL PROTECTED]"
p "deleting doc :[EMAIL PROTECTED]:id]}"
@writer.delete(:id, @doc[:id])
p "[EMAIL PROTECTED]"
@writer.commit
@writer.close
@writer = nil
end
add_then_delete_fred
add_then_delete_fred
add_then_delete_fred
@reader = Ferret::Index::IndexReader.new(@dir)
p "reader [EMAIL PROTECTED]"
@writer = Ferret::Index::IndexWriter.new(:dir => @dir)
p "writer [EMAIL PROTECTED]"
===
$>ruby test_delete.rb
"0.10.4"
"adding doc :id=44"
"doc_count=1"
"deleting doc :id=44"
"doc_count=1"
"adding doc :id=44"
"doc_count=2"
"deleting doc :id=44"
"doc_count=2"
"adding doc :id=44"
"doc_count=3"
"deleting doc :id=44"
"doc_count=3"
"reader count=0"
"writer count=3"
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk