middleman-blog で類似記事を表示する

 English

middleman-blog で類似記事を取得する機能拡張を作りました boom

View middleman-blog-similar on GitHub.

gem 'middleman-blog-similar'
gem 'levenshtein-ffi', :require => 'levenshtein'
h2 Similar Entries
ul
  - similar_articles.first(5).each do|article|
    li= link_to article.title, article.url

similar_articles ヘルパーメソッドか Middleman::Blog::BlogArticle#similar_articles インスタンスメソッドで、類似エントリー一覧を取得できます。

現在、類似検索エンジンとして、levenshtein-ffilevenshtein, damerau-levenshtein をサポートしています。

ただ、あまり精度が良くないみたいなので、tf-idf-similarity ライブラリを使ったエンジンを追加しようとしています。

Pull request: [wip] tf*idf support #2

config.rb に以下の様に記述して、類似検索エンジンを指定でるようになる予定です。

# Levenshtein distance function:
activate :similar # , :algorithm => :levenshtein by default.
# Damerau–Levenshtein distance function:
activate :similar, :algorithm => :damerau_levenshtein
# Term Frequency-Inverse Document Frequency function:
activate :similar, :algorithm => :tf_idf
# Okapi BM25 ranking function:
activate :similar, :algorithm => :bm25
comments powered by Disqus