Skip to main content

elasticsearch integration with plone

Project description

Introduction

See the full documentation on readthedocs.

Install elasticsearch

Less than 5 minutes:
  • Download & install Java

  • Download & install Elastic Search

  • bin/elasticsearch

Step by Step for Ubuntu:
Does it work?
Use Elastic Search in Plone:
  • Add collective.elasticsearch to eggs & re-run buildout

  • Restart Plone

  • Goto Control Panel

  • Add “Eleastic Search” in Add-on Products

  • Click “Elastic Search” in “Add-on Configuration”

  • Enable

  • Click “Convert Catalog”

  • Click “Rebuild Catalog”

You now have a insanely scalable modern search engine. Now live the life of the Mind!

Overview

This package aims to index all fields the portal_catalog indexes and allows you to delete the Title, Description and SearchableText indexes which can provide significant improvement to performance and RAM usage.

Then, ElasticSearch queries are ONLY used when Title, Description and SearchableText text are in the query. Otherwise, the plone’s default catalog will be used. This is because Plone’s default catalog is faster on normal queries than using ElasticSearch.

Compatibility

Only tested with Plone 5 with Dexterity types.

It should also work with Plone 4.3 and archetypes.

Deployed with Elasticsearch 2.4.3

State

Support for all index column types is done EXCEPT for the DateRecurringIndex index column type. If you are doing a full text search along with a query that contains a DateRecurringIndex column, it will not work.

Celery support

This package comes with Celery support where all indexing operations will be pushed into celery to be run asynchronously.

Please see instructions for collective.celery to see how this works.

TODO

  • Spellcheck

  • Custom Similarity

  • Faceting

Travis

Travis CI

Changelog

2.0.0a5 (2017-03-29)

  • Running indexing as admin as it is possible to initiate reindex or index on an object that you do not have permissions for [vangheem]

2.0.0a4 (2017-03-27)

  • released

2.0.0a3 (2017-03-27)

  • Add a method to set the body of the request during index creation. [Gagaro]

  • Fixed get brain in lazy list with negative indexes. [thomasdesvenain]

  • The list of indexes that forces es search is configurable. [thomasdesvenain]

  • Works under Plone 4.3. [thomasdesvenain]

  • Works with archetypes contents. [thomasdesvenain]

2.0.0a2 (2016-07-19)

  • We can pass a custom results factory and custom query parameters to IElasticSearchCatalog.search() method. So we can use it as a public interface for custom needs. [thomasdesvenain]

  • Prevent from unindex before reindex when uid is unchanged, for instance at rename. Use a set for to-remove list. [thomasdesvenain]

  • Fix indexing when removing the Title and Description indexes from Plone [vangheem]

2.0.0a1 (2016-06-06)

  • upgrade to elasticsearch 2.x [vangheem]

1.0.1a4 (2016-05-22)

  • provide better search query [vangheem]

1.0.1a3 (2016-03-22)

  • make sure to get alias definition right [vangheem]

1.0.1a2 (2016-03-18)

  • create index as an alias so you can potentially work on an existing alias without needing downtime [vangheem]

1.0.1a1 (2016-02-25)

1.0.0a1 (2016-02-25)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.elasticsearch-2.0.0a5.tar.gz (40.8 kB view details)

Uploaded Source

File details

Details for the file collective.elasticsearch-2.0.0a5.tar.gz.

File metadata

File hashes

Hashes for collective.elasticsearch-2.0.0a5.tar.gz
Algorithm Hash digest
SHA256 f74bc7c514abe3d362fa256fc1f406d1d6f98ce2cae987fb981e38258c455c90
MD5 760bbd14ee6146ccd5b088cae0ea3fb7
BLAKE2b-256 c4b78de64c582d7fe1173e7bc11d608db0718431e62dcfced6690e2f85980cf5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page