solrizer 1.1.0 → 1.1.1
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.
- data/Gemfile.lock +30 -27
- data/History.txt +8 -1
- data/bin/solrizer +4 -2
- data/lib/solrizer/version.rb +1 -1
- data/lib/solrizer/xml/terminology_based_solrizer.rb +4 -9
- data/solrizer.gemspec +1 -1
- data/spec/fixtures/mods_articles/hydrangea_article1.xml +2 -2
- data/spec/units/xml_terminology_based_solrizer_spec.rb +4 -1
- metadata +10 -9
data/Gemfile.lock
CHANGED
@@ -1,48 +1,51 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
solrizer (1.1.1)
|
5
|
+
daemons
|
6
|
+
mediashelf-loggable
|
7
|
+
nokogiri
|
8
|
+
om (>= 1.4.0)
|
9
|
+
stomp
|
10
|
+
xml-simple
|
11
|
+
|
1
12
|
GEM
|
2
13
|
remote: http://rubygems.org/
|
3
14
|
specs:
|
4
|
-
RedCloth (4.2.
|
5
|
-
columnize (0.3.
|
6
|
-
daemons (1.1.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
om (1.2.2)
|
15
|
+
RedCloth (4.2.8)
|
16
|
+
columnize (0.3.4)
|
17
|
+
daemons (1.1.4)
|
18
|
+
linecache (0.46)
|
19
|
+
rbx-require-relative (> 0.0.4)
|
20
|
+
mediashelf-loggable (0.4.7)
|
21
|
+
metaclass (0.0.1)
|
22
|
+
mocha (0.10.0)
|
23
|
+
metaclass (~> 0.0.1)
|
24
|
+
nokogiri (1.5.0)
|
25
|
+
om (1.4.0)
|
26
|
+
mediashelf-loggable
|
17
27
|
nokogiri (>= 1.4.2)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
rspec (1.3.1)
|
28
|
+
rbx-require-relative (0.0.5)
|
29
|
+
rcov (0.9.10)
|
30
|
+
rspec (1.3.2)
|
22
31
|
ruby-debug (0.10.4)
|
23
32
|
columnize (>= 0.1)
|
24
33
|
ruby-debug-base (~> 0.10.4.0)
|
25
34
|
ruby-debug-base (0.10.4)
|
26
35
|
linecache (>= 0.3)
|
27
|
-
stomp (1.1.
|
28
|
-
xml-simple (1.0
|
29
|
-
yard (0.
|
36
|
+
stomp (1.1.9)
|
37
|
+
xml-simple (1.1.0)
|
38
|
+
yard (0.7.2)
|
30
39
|
|
31
40
|
PLATFORMS
|
32
41
|
ruby
|
33
42
|
|
34
43
|
DEPENDENCIES
|
35
44
|
RedCloth
|
36
|
-
daemons
|
37
|
-
jeweler
|
38
|
-
mediashelf-loggable
|
39
45
|
mocha
|
40
|
-
nokogiri
|
41
|
-
om (>= 1.0.0)
|
42
46
|
rcov
|
43
47
|
rspec (< 2.0.0)
|
44
48
|
ruby-debug
|
45
49
|
ruby-debug-base
|
46
|
-
|
47
|
-
xml-simple
|
50
|
+
solrizer!
|
48
51
|
yard
|
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
h2. 1.1.1
|
2
|
+
|
3
|
+
BUG: Trying to index the children of proxy terms (can't access them in OM). Added a check to make sure it doesn't do this.
|
4
|
+
BUG: Not responding to messages of type: "modifyDatastreamByReference"
|
5
|
+
BUG: Not logging unavailable message types
|
6
|
+
|
7
|
+
|
1
8
|
h2. 1.0.3
|
2
9
|
|
3
10
|
BUG: Extractor.format_field_values was choking when value was nil
|
@@ -31,4 +38,4 @@ Updated FieldNameMapper to use new FieldMapper
|
|
31
38
|
|
32
39
|
h2. 0.1.2
|
33
40
|
|
34
|
-
Minor: switched active-fedora gem requirement to >= 1.1.5 instead of = 1.1.5 (was breaking apps that use later versions of active-fedora)
|
41
|
+
Minor: switched active-fedora gem requirement to >= 1.1.5 instead of = 1.1.5 (was breaking apps that use later versions of active-fedora)
|
data/bin/solrizer
CHANGED
@@ -61,7 +61,7 @@ if options[:hydra_home]
|
|
61
61
|
|
62
62
|
puts "app loaded"
|
63
63
|
else
|
64
|
-
|
64
|
+
$stderr.puts "The --hydra_home PATH option is mandatory. Please provide the path to the root of a valid Hydra instance."
|
65
65
|
exit 1
|
66
66
|
end
|
67
67
|
|
@@ -89,11 +89,13 @@ begin
|
|
89
89
|
|
90
90
|
puts @msg.headers.inspect
|
91
91
|
puts "\nPID: #{@msg.headers["pid"]}\n"
|
92
|
-
if ["addDatastream", "addRelationship","ingest","modifyDatastream","modifyObject","purgeDatastream","
|
92
|
+
if ["addDatastream", "addRelationship","ingest","modifyDatastream","modifyDatastreamByReference","modifyObject","purgeDatastream","purgeRelationship"].include? method
|
93
93
|
solrizer = Solrizer::Fedora::Solrizer.new
|
94
94
|
solrizer.solrize @msg.headers["pid"]
|
95
95
|
elsif method == "purgeObject"
|
96
96
|
ActiveFedora::SolrService.instance.conn.delete(pid)
|
97
|
+
else
|
98
|
+
$stderr.puts "Unknown Method: #{method}"
|
97
99
|
end
|
98
100
|
puts "updated solr index for #{@msg.headers["pid"]}\n"
|
99
101
|
@conn.ack @msg.headers["message-id"]
|
data/lib/solrizer/version.rb
CHANGED
@@ -31,21 +31,16 @@ module Solrizer::XML::TerminologyBasedSolrizer
|
|
31
31
|
parents = opts.fetch(:parents, [])
|
32
32
|
|
33
33
|
term_pointer = parents+[term.name]
|
34
|
-
|
35
|
-
# term = terminology.retrieve_term(term_pointer)
|
36
|
-
|
37
|
-
# prep children hash
|
38
|
-
# child_accessors = accessor_info.fetch(:children, {})
|
39
|
-
# xpath = term.xpath_for(*term_pointer)
|
40
34
|
nodeset = doc.find_by_terms(*term_pointer)
|
41
35
|
|
42
36
|
nodeset.each do |node|
|
43
37
|
# create solr fields
|
44
38
|
|
45
39
|
self.solrize_node(node, doc, term_pointer, term, solr_doc, field_mapper)
|
46
|
-
term.
|
47
|
-
|
48
|
-
|
40
|
+
unless term.kind_of? OM::XML::NamedTermProxy
|
41
|
+
term.children.each_pair do |child_term_name, child_term|
|
42
|
+
doc.solrize_term(child_term, solr_doc, field_mapper, opts={:parents=>parents+[{term.name=>nodeset.index(node)}]})
|
43
|
+
end
|
49
44
|
end
|
50
45
|
end
|
51
46
|
solr_doc
|
data/solrizer.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.description = %q{Use solrizer to populate solr indexes from Fedora repository content or from other sources. You can run solrizer from within your apps, using the provided rake tasks, or as a JMS listener}
|
14
14
|
|
15
15
|
s.add_dependency "nokogiri"
|
16
|
-
s.add_dependency "om", ">=1.
|
16
|
+
s.add_dependency "om", ">=1.4.0"
|
17
17
|
s.add_dependency "xml-simple"
|
18
18
|
s.add_dependency "mediashelf-loggable"
|
19
19
|
s.add_dependency "stomp"
|
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
<titleInfo>
|
5
5
|
<nonSort>THE</nonSort>
|
6
|
-
<title>ARTICLE TITLE HYDRANGEA ARTICLE 1</title>
|
6
|
+
<title xml:lang="eng">ARTICLE TITLE HYDRANGEA ARTICLE 1</title>
|
7
7
|
<subTitle>SUBTITLE</subTitle>
|
8
8
|
</titleInfo>
|
9
9
|
<titleInfo lang="finnish">
|
@@ -87,4 +87,4 @@
|
|
87
87
|
<accessCondition type="restrictionOnAccess">EMBARGO NOTE</accessCondition>
|
88
88
|
<accessCondition type="use and reproduction">OPEN ACCESS</accessCondition>
|
89
89
|
|
90
|
-
</mods>
|
90
|
+
</mods>
|
@@ -80,7 +80,10 @@ describe Solrizer::XML::TerminologyBasedSolrizer do
|
|
80
80
|
|
81
81
|
it "should add multiple fields based on index_as" do
|
82
82
|
fake_solr_doc = {}
|
83
|
-
|
83
|
+
term = OM::Samples::ModsArticle.terminology.retrieve_term(:name)
|
84
|
+
term.children[:namePart].index_as = [:displayable, :facetable]
|
85
|
+
|
86
|
+
@mods_article.solrize_term(term, fake_solr_doc)
|
84
87
|
|
85
88
|
expected_names = ["DR.", "FAMILY NAME", "GIVEN NAMES"]
|
86
89
|
%w(_t _display _facet).each do |suffix|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solrizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 1
|
10
|
+
version: 1.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Matt Zumwalt
|
@@ -15,7 +15,8 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-09-19 00:00:00 -05:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: nokogiri
|
@@ -39,12 +40,12 @@ dependencies:
|
|
39
40
|
requirements:
|
40
41
|
- - ">="
|
41
42
|
- !ruby/object:Gem::Version
|
42
|
-
hash:
|
43
|
+
hash: 7
|
43
44
|
segments:
|
44
45
|
- 1
|
46
|
+
- 4
|
45
47
|
- 0
|
46
|
-
|
47
|
-
version: 1.0.0
|
48
|
+
version: 1.4.0
|
48
49
|
type: :runtime
|
49
50
|
version_requirements: *id002
|
50
51
|
- !ruby/object:Gem::Dependency
|
@@ -258,6 +259,7 @@ files:
|
|
258
259
|
- spec/units/field_name_mapper_spec.rb
|
259
260
|
- spec/units/xml_extractor_spec.rb
|
260
261
|
- spec/units/xml_terminology_based_solrizer_spec.rb
|
262
|
+
has_rdoc: true
|
261
263
|
homepage: http://github.com/projecthydra/solrizer
|
262
264
|
licenses: []
|
263
265
|
|
@@ -287,7 +289,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
287
289
|
requirements: []
|
288
290
|
|
289
291
|
rubyforge_project:
|
290
|
-
rubygems_version: 1.
|
292
|
+
rubygems_version: 1.6.2
|
291
293
|
signing_key:
|
292
294
|
specification_version: 3
|
293
295
|
summary: A utility for building solr indexes, usually from Fedora repository content.
|
@@ -306,4 +308,3 @@ test_files:
|
|
306
308
|
- spec/units/field_name_mapper_spec.rb
|
307
309
|
- spec/units/xml_extractor_spec.rb
|
308
310
|
- spec/units/xml_terminology_based_solrizer_spec.rb
|
309
|
-
has_rdoc:
|