Lars Olsson
2007-Jun-07 16:21 UTC
[Ferret-talk] Unique :key not maintained after add_indexes?
Hi,
When adding an index to another one using add_indexes I get duplicates
even though I use the :key attribute. For example:
def test_add_indexes_uniqueness
index1 = Ferret::Index::Index.new(:key => :id)
index2 = Ferret::Index::Index.new(:key => :id)
# Add two items with same id
index1 << {:id => 23, :data => "This is the
data..."}
index1 << {:id => 23, :data => "This is the new
data..."}
assert_equal(1, index1.size)
index2 << {:id => 23, :data => "This is the new
data..."}
assert_equal(1, index2.size)
# Add index2 to index1
index1.add_indexes(index2)
#Size should still be 1 as the items in both indexes have id 23
assert_equal(1, index1.size)
end
Here the final assertion fails because the size is 2. What have I
misunderstood? How can I maintain uniqueness when merging indexes?
Thanks,
Lars
