diff --git a/lib/searchkick/reindex.rb b/lib/searchkick/reindex.rb index 9fcb4c1..c618d5e 100644 --- a/lib/searchkick/reindex.rb +++ b/lib/searchkick/reindex.rb @@ -202,8 +202,8 @@ module Searchkick type: "multi_field", fields: { field => {type: "string", index: "not_analyzed"}, - "analyzed" => {type: "string", index: "analyzed", term_vector: "with_positions_offsets"} - # term_vector for fast / correct highlighting + "analyzed" => {type: "string", index: "analyzed"} + # term_vector: "with_positions_offsets" for fast / correct highlighting # http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-highlighting.html#_fast_vector_highlighter } } diff --git a/test/highlight_test.rb b/test/highlight_test.rb new file mode 100644 index 0000000..92a2506 --- /dev/null +++ b/test/highlight_test.rb @@ -0,0 +1,22 @@ +require_relative "test_helper" + +class TestHighlight < Minitest::Unit::TestCase + + def test_basic + store_names ["Two Door Cinema Club"] + assert_equal "Two Door Cinema Club", Product.search("cinema", fields: [:name], highlight: true).each_with_hit.first[1]["highlight"]["name.analyzed"].first + end + + def test_tag + store_names ["Two Door Cinema Club"] + assert_equal "Two Door Cinema Club", Product.search("cinema", fields: [:name], highlight: {tag: ""}).each_with_hit.first[1]["highlight"]["name.analyzed"].first + end + + def test_multiple_fields + store [{name: "Two Door Cinema Club", color: "Cinema Orange"}] + highlight = Product.search("cinema", fields: [:name, :color], highlight: true).each_with_hit.first[1]["highlight"] + assert_equal "Two Door Cinema Club", highlight["name.analyzed"].first + assert_equal "Cinema Orange", highlight["color.analyzed"].first + end + +end -- libgit2 0.21.0