Merge pull request #3629 from justinweiss/lsi_search_on_posts

Merge pull request 3629
This commit is contained in:
Parker Moore 2015-04-14 13:13:24 -07:00
commit 0072865512
2 changed files with 19 additions and 4 deletions

View File

@ -42,7 +42,7 @@ module Jekyll
end end
def lsi_related_posts def lsi_related_posts
self.class.lsi.find_related(post.content, 11) - [post] self.class.lsi.find_related(post, 11)
end end
def most_recent_posts def most_recent_posts

View File

@ -22,12 +22,27 @@ class TestRelatedPosts < JekyllUnitTest
setup do setup do
allow_any_instance_of(Jekyll::RelatedPosts).to receive(:display) allow_any_instance_of(Jekyll::RelatedPosts).to receive(:display)
@site = fixture_site({"lsi" => true}) @site = fixture_site({"lsi" => true})
end
should "use lsi for the related posts" do
@site.reset @site.reset
@site.read @site.read
require 'classifier-reborn' require 'classifier-reborn'
Jekyll::RelatedPosts.lsi = nil
end
should "index Jekyll::Post objects" do
@site.posts = @site.posts.first(1)
expect_any_instance_of(::ClassifierReborn::LSI).to receive(:add_item).with(kind_of(Jekyll::Post))
Jekyll::RelatedPosts.new(@site.posts.last).build_index
end
should "find related Jekyll::Post objects, given a Jekyll::Post object" do
post = @site.posts.last
allow_any_instance_of(::ClassifierReborn::LSI).to receive(:build_index)
expect_any_instance_of(::ClassifierReborn::LSI).to receive(:find_related).with(post, 11).and_return(@site.posts[-1..-9])
Jekyll::RelatedPosts.new(post).build
end
should "use lsi for the related posts" do
allow_any_instance_of(::ClassifierReborn::LSI).to receive(:find_related).and_return(@site.posts[-1..-9]) allow_any_instance_of(::ClassifierReborn::LSI).to receive(:find_related).and_return(@site.posts[-1..-9])
allow_any_instance_of(::ClassifierReborn::LSI).to receive(:build_index) allow_any_instance_of(::ClassifierReborn::LSI).to receive(:build_index)