Distro Index Owner:
Home Page:
Last updated:
EEA Add-ons Plone Zope




A package that suggests similar titles to one being added

EEA Similarity


EEA Similarity is a Plone add-on which provides content suggestions based on similarity scores to a search string. It uses NLP algorithms like TF-IDF (frequency–inverse document frequency) and LSI (Latent Semantic Indexing).

Initial use case is to provide a list of possible duplicates when adding content (based on the entered title).



If you are using zc.buildout and the plone.recipe.zope2instance recipe to manage your project, you can do this:

  • Update your buildout.cfg file:

    eggs =
    zcml =
  • Re-run buildout, e.g. with:

    $ ./bin/buildout

You can skip the ZCML slug if you are going to explicitly include the package from another package's configure.zcml file.

Getting started

  1. Go to Site Setup > Add-ons and install EEA Similarity
  2. Create IDF index by calling @@create_idf_index Browser view on site root. If you have installed, it will add a daily job to async queue, otherwise you'll have to setup an external cron job to call this periodically.
  3. Customize settings via Site Setup > EEA Similarity Settings


EEA Similarity has the following dependencies:
  • stemming
  • gensim (which in turn depends on numpy and scipy)
On CentOS you need to install:
  • blas-devel
  • lapack-devel
  • gcc-fortran
On Debian/Ubuntu you need to install:
  • libblas-dev
  • liblapack
  • gfortran

Possible issues with scipy and numpy:

Due to a bug in scipy, it is possible that the packages will not install when running buildout. There are two solutions/options:

  1. Install them with easy_install pip before running the buildout.
  2. Update zc.buildout to version 2.9.0 and activate the wheel support via buildout.wheel and the dependencies will be installed normally.


EEA - European Environment Agency (EU)


1.5 - (2017-05-22)

  • Upgrade step: Within "Plone > Site setup > Add-ons" click on upgrade button available for EEA Similarity [avoinea refs #84915]
  • Change: Add dedicated async quota for similarity jobs [avoinea refs #84915]
  • Change: fixed PyLint warnings and errors [valipod refs #84949]

1.4 - (2017-04-24)

  • Feature: add control panel option to show suggestions only after a certain title length [valipod refs #84480]
  • Change: updated package information [eduard-fironda]

1.3 - (2017-04-19)

  • Bug fix: fixed issue with the equivalent sets [valipod refs #84294]
  • Feature: added metadata info to the suggestion dialog [valipod refs #84294]

1.2 - (2017-04-14)

  • Bug fix: Remove hard dependency on and eea.versions [avoinea refs #83163]
  • Bug fix: removed hard coded path in the dialog's javascript [valipod refs #83163]
  • Bug fix: added some defaults to the control panel settings [valipod refs #83163]
  • Bug fix: removed mandatory status for some control panel settings [valipod refs #83163]

1.1 - (2017-04-13)

  • Bug fix: fixed README markup [alecghica refs #82296]
  • Upgrade step: trigger index generation once (/www/create_idf_index) Feature: added index update frequency to the registry settings [valipod refs #83163]

1.0 - (2017-04-12)

  • Feature: related to index and score:
    • moved the index creation to the async instance
    • add similarity score next to object link in dialog
    • [valipod refs #83163]
  • Feature: added to registry settings:
    • equivalent content types sets, use of stopwords, number of shown suggestions
    • max. score difference between suggestions, dialog title and text
    • [valipod refs #83163]
  • Pre-upgrade step: run etc/scripts/ on each backend [alecghica refs #82296]

  • Pre-upgrade step: run [alecghica refs #82296]

  • Upgrade step: from control panel instal eea.similarity [valipod refs #82296] [alecghica refs #82296]

  • Feature: Initial release [valipod refs #82296]