dm-lucene-adapter 0.1.1-java → 0.1.2-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,9 +27,10 @@ module DataMapper
27
27
  # @api semipublic
28
28
  def create(resources)
29
29
  count = 0
30
+ reader = lucene(resources.first.model).create_reader
30
31
  indexer = lucene(resources.first.model).create_indexer
31
32
  resources.each do |resource|
32
- resource.id = indexer.next_id
33
+ resource.id = reader.next_id
33
34
  map = {}
34
35
  resource.attributes.each { |k,v| map[k.to_s] = v.to_s}
35
36
  indexer.index(map)
@@ -38,6 +39,7 @@ module DataMapper
38
39
  count
39
40
  ensure
40
41
  indexer.close if indexer
42
+ reader.close if reader
41
43
  end
42
44
 
43
45
  # @param [Query] query
@@ -116,7 +118,7 @@ module DataMapper
116
118
  ops.each do |comp|
117
119
  case comp.slug
118
120
  when :like
119
- comp.value.split(/\s/).each do |value|
121
+ comp.value.split(/\s+/).each do |value|
120
122
  lquery += "#{comp.subject.name.to_s}:#{value}"
121
123
  unless comp.value =~ /%|_|\?|\*/
122
124
  lquery += "~"
@@ -124,7 +126,9 @@ module DataMapper
124
126
  lquery += " #{operator} "
125
127
  end
126
128
  when :eql
127
- lquery += "#{comp.subject.name.to_s}:\"#{comp.value}\" #{operator} "
129
+ comp.value.to_s.split(/\s+/).each do |value|
130
+ lquery += "#{comp.subject.name.to_s}:\"#{value}\" #{operator} "
131
+ end
128
132
  when :not
129
133
  if lquery.size == 0
130
134
  lquery = "NOT "
@@ -27,8 +27,10 @@ describe DataMapper::Adapters::LuceneAdapter do
27
27
  end
28
28
  b = Book.all
29
29
  size.should == b.size + 2
30
- book = Book.create(:author => "kristian", :title => "me and the corner")
31
- id.should < book.id
30
+ book = Book.create(:author => "kristian 2", :title => "me and the corner 2")
31
+ id.should == book.id
32
+ b = Book.all
33
+ size.should == b.size + 1
32
34
  end
33
35
 
34
36
  it 'should read a single' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-lucene-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: java
6
6
  authors:
7
7
  - Kristian Meier
@@ -9,11 +9,40 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-29 00:00:00 +05:30
12
+ date: 2010-01-28 00:00:00 +05:30
13
13
  default_executable:
14
- dependencies: []
15
-
16
- description: datamapper adapter for search index lucene
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: extlib
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.14
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: addressable
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.1.1
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: dm-core
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.10.2
44
+ version:
45
+ description: datamapper adapter for search index lucene from apache
17
46
  email:
18
47
  - m.kristian@web.de
19
48
  executables: []
@@ -57,6 +86,6 @@ rubyforge_project:
57
86
  rubygems_version: 1.3.5
58
87
  signing_key:
59
88
  specification_version: 3
60
- summary: dm adapter for lucene
89
+ summary: datamapper adapter for lucene
61
90
  test_files: []
62
91