Package: collective.elasticindex
This extension indexPlonecontent intoElasticSearch. This doesn’t
replace the Plone catalog with ElasticSearch, nor interact with the
Plone catalog at all, it merely index content inside ElasticSearch when
it is modified or published.In addition to this, it provides a simple search page calledsearch.htmlthat queries ElasticSearch using Javascript (so Plone
is not involved in searching) and propose the same features than the
default Plone search page. A search portlet let you redirect people to
this new search page as well.This extension have been built for Plone 4, but might work with Plone
3.UsageAfter adding this extension to your buildout (including the zcml), you
can install the extension in Plone. A configuration screen is
available inside site setup. It will let you configure the URLs of the
ElasticSearch servers to use in order to index, and search. To proceed:Fill in the ElasticSearch settings,Click onSave,Click onCreate Indexin order to create the ElasticSearch index,Click onImport site contentin order to index already existing
content in ElasticSearch.You can use the same ElasticSearch server (and probably index) for
multiple Plone sites, creating a federated search that way.Security disclaimerBy default is no authentication or access validation while searching
or indexing content. The original purpose of this search is to be
public.If you have private content that you don’t want to be searchable or
viewable by unauthorized people, please be sure to check the checkboxindex only published contentin the configuration screen.In addition to this ElasticSearch is not secured by default, meaning
there is no authentication to provide in order to index or look-up
content. Be sure to hide it behind a firewall and use a proxy or
Apache in order to restrict the requests made to it: you only need to
allow access via POST to the sub-URL_searchafter the index name
configured in the configuration screen. For instance, if the index
name isplone, you shall allow only requests tohttp://your-public-es-url/plone/_search. After you configured your
proxy, be sure to configure its public URL, likehttp://your-public-es-urlin the configuration screen so the
search page knows how to contact it.However if you want to allow users to search though restricted and not
yet published content, you can checkindex securityand uncheckindex only published contentin the configuration screen. After
reindexing your content, if you checkproxy search requests though
Plone and apply security filter, search will work on restricted and
not yet published content, but will be slower as the queries will be
proxied though Plone.Changes1.2.5 (2015-04-21)Less items per commit while indexing1.2.4 (2015-04-21)More logging while indexing.1.2.3 (2015-02-03)Fix indexation after checkin from plone.app.iterate.1.2.2 (2015-01-29)Fix savepoint.1.2.1 (25/03/2014)Update javascript so it longer strips double quotes away.1.2 (28/01/2014)Add an option to rewrite the domain name in the URL of indexed
documents.1.1.2 (21/01/2014)Fix a stupid bug when a document that is unindex get reindex inside
the same transaction.1.1.1 (26/11/2013)Disable completely the extension whenportal_factoryis in the
path, i.e. we have an add forms.portal_factoryuses lot of
hacks regarding the ZODB that are not very clean.1.1 (05/11/2013)Index Plone authorization in the index and provide an option to
redirect the queries through Plone in order to restrict the search
results to what the current user is allowed to see. Effectively
Plone will modify the search query to include a restriction on the
authorization.Improve the public search page.Improve the public search javascript to ignore special Lucene
characters in the query and colons except if they are before an
authorized term.1.0 (13/09/2013)Initial release.