solrsan 0.0.24 → 0.0.25
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 +1 -1
- data/config/solr/conf/solrconfig.xml +2 -2
- data/lib/solrsan/search.rb +14 -1
- data/lib/solrsan/version.rb +1 -1
- data/test/unit/search_test.rb +3 -3
- metadata +8 -8
data/Gemfile.lock
CHANGED
@@ -410,8 +410,8 @@
|
|
410
410
|
<!-- Configure the standard formatter -->
|
411
411
|
<formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" default="true">
|
412
412
|
<lst name="defaults">
|
413
|
-
<str name="hl.simple.pre"><![CDATA[<
|
414
|
-
<str name="hl.simple.post"><![CDATA[</
|
413
|
+
<str name="hl.simple.pre"><![CDATA[<mark>]]></str>
|
414
|
+
<str name="hl.simple.post"><![CDATA[</mark>]]></str>
|
415
415
|
</lst>
|
416
416
|
</formatter>
|
417
417
|
</highlighting>
|
data/lib/solrsan/search.rb
CHANGED
@@ -2,6 +2,10 @@ module Solrsan
|
|
2
2
|
module Search
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
module ClassMethods
|
5
|
+
|
6
|
+
HL_START_TAG = "<mark>"
|
7
|
+
HL_END_TAG = "</mark>"
|
8
|
+
|
5
9
|
def class_name
|
6
10
|
to_s.underscore
|
7
11
|
end
|
@@ -143,7 +147,16 @@ module Solrsan
|
|
143
147
|
|
144
148
|
highlighted_docs = search_response[:docs].map do |doc|
|
145
149
|
hl_metadata = search_response[:highlighting][doc['id']]
|
146
|
-
|
150
|
+
|
151
|
+
hl_metadata.drop_while{|k,v| excluded_highlighting_fields.include?(k) }.each do |k,v|
|
152
|
+
new_value = if v.is_a?(Array)
|
153
|
+
matched = v.map{|t| t.gsub(HL_START_TAG,"").gsub(HL_END_TAG,"") }
|
154
|
+
doc[k].drop_while{|text| matched.include?(text) }.concat(v)
|
155
|
+
else
|
156
|
+
v
|
157
|
+
end
|
158
|
+
doc[k] = new_value
|
159
|
+
end if hl_metadata
|
147
160
|
|
148
161
|
doc
|
149
162
|
end
|
data/lib/solrsan/version.rb
CHANGED
data/test/unit/search_test.rb
CHANGED
@@ -165,16 +165,16 @@ class SearchTest < Test::Unit::TestCase
|
|
165
165
|
highlighting = response[:highlighting]
|
166
166
|
|
167
167
|
first_result = highlighting.first
|
168
|
-
assert first_result[1]['tags'].include?("<
|
168
|
+
assert first_result[1]['tags'].include?("<mark>solr</mark>")
|
169
169
|
end
|
170
170
|
|
171
171
|
def test_embed_highlighting
|
172
|
-
Document.index(Document.new(:id => 3, :author => "Bert", :title => "solr lucene",:review_count => 10, :tags => ["solr"]))
|
172
|
+
Document.index(Document.new(:id => 3, :author => "Bert", :title => "solr lucene",:review_count => 10, :tags => ["solr", "sphinx"]))
|
173
173
|
|
174
174
|
response = Document.search(:q => "solr",
|
175
175
|
:'hl.fl' => "*")
|
176
176
|
docs = response[:docs]
|
177
|
-
|
177
|
+
assert_equal ["sphinx", "<mark>solr</mark>"], docs.first['tags']
|
178
178
|
end
|
179
179
|
end
|
180
180
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solrsan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.25
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-03-
|
12
|
+
date: 2011-03-25 00:00:00.000000000 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsolr
|
17
|
-
requirement: &
|
17
|
+
requirement: &2160641540 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 1.0.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2160641540
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activemodel
|
28
|
-
requirement: &
|
28
|
+
requirement: &2160641040 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 3.0.5
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2160641040
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: activesupport
|
39
|
-
requirement: &
|
39
|
+
requirement: &2160640580 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: 3.0.5
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2160640580
|
48
48
|
description: solrsan is a lightweight wrapper for using Apache Solr within a Ruby
|
49
49
|
application including Rails and Sinatra.
|
50
50
|
email:
|