2011-05-30 21:56:02 +02:00
|
|
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
|
|
|
|
|
|
describe "IndexSearcher#search" do
|
|
|
|
let(:path) { prepare_index_dir }
|
2011-05-30 22:23:38 +02:00
|
|
|
let(:w) { Polecat::IndexWriter.new(path) }
|
2011-05-30 21:56:02 +02:00
|
|
|
let(:s) { Polecat::IndexSearcher.new :path => path }
|
|
|
|
|
2011-05-30 22:23:38 +02:00
|
|
|
it "returns an empty array when nothing was found" do
|
2011-05-30 21:56:02 +02:00
|
|
|
s.search("foo").should == []
|
|
|
|
end
|
2011-05-30 22:23:38 +02:00
|
|
|
|
|
|
|
context "searching on a filled index" do
|
|
|
|
before do
|
|
|
|
w.add Spec::FooDocument.new(:name => 'foo')
|
|
|
|
w.add Spec::FooDocument.new(:name => 'bar')
|
|
|
|
w.add Spec::FooDocument.new(:name => 'baz')
|
|
|
|
w.add Spec::FooDocument.new(:name => 'foobar')
|
|
|
|
w.write
|
|
|
|
end
|
|
|
|
|
|
|
|
let :s do
|
|
|
|
Polecat::IndexSearcher.new(
|
|
|
|
:reader => w.create_reader,
|
|
|
|
:default_field => :name
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns an array of documents, when a document was found" do
|
|
|
|
s.search('foo').count.should == 1
|
|
|
|
end
|
|
|
|
end
|
2011-05-30 21:56:02 +02:00
|
|
|
end
|