Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

SMILE AT LIFERAY DEVCON 2015 – PART 3: LIFERAY 7 SEARCH

Until now Liferay has delivered search included in the portal: this is about to end for Liferay 7. The classical search will continue working with Liferay, meaning that there will be a basic search available on Liferay without installing any extra plugin; but this is no longer a recommended configuration.

Liferay is getting the search externalized; search engine installation will be a responsibility of the project deployment. Clients will have the freedom to choose the search, with a strong predilection for Elastic Search.

Search engines then

Search engines were invented at the time web sites could fit on a single server, but the pattern has evolved a lot since.

Here is a quick recap of the basics of search:

  • An index stores all the data that can be searched for.
  • Indexes have documents.
  • Documents have fields.
  • Analysis and analyzers can help understanding
  • Fields can be mapped.
  • Analytics and aggregations can be used to group results (same as facets)

Liferay search now

Liferay 7 provides a search framework OOTB that will maintain the essential search functionality if no other plugin is used (e.g. Elastic Search), and each module in Liferay is responsible for indexing the data that should be found using the search. The document mappings are defined for each plugin using a specific notation and metadata define what is indexed and how.

There are some queries types with wild cards and other capabilities to be used on the search or the Boolean query to target specific results.

Elastic by default

elastic

ElasticSearch will be the default search engine, even though it has to be installed separately. This means that the search engine, no matter which one, must be remote, on a separate VM – it can be on the same server of course.

Extensibility and modularization will be available on the search framework too.         

New features

  • New queries will be available without the need to add a postprocessor for the search.
    • Fuzzy match
  • New Filters – faster and easier to use
    • Terms, prefix, exists, missing, QueryFilter
    • Geolocation filters.
    • geodistance range, bounding
  • Query time filters for relevance
  • New aggregation types:
    • top hits. providing statistics for the results.
  • Modularity
    • OSGI.
    • default search is a plugin. It can be replaced by any other module/Plugin
    • extensions points
      • node settings
      • index settings
      • analyzers
      • mapping contributors for fine tunings searching fields queries or settings.
    • The extension point will be available for ElasticSearch only.          

Why ElasticSearch ?

  • Open source
  • Lucene based
  • Best of the breed
  • Great support
  • Liferay is an OEM partner
  • Great Java client API.
  • It can work with ZERO config.
  • Pretty JSON
  • Update the settings programatically.

Clustering with Liferay and ElasticSearch can be easy, they will form automatically if not configured otherwise, as when moving to production.

On production the configuration will have to be defined, for dev and test can be done without any config, Liferay will provide it for the Enterprise Edition

More features for Enterprise Edition

  • Security Shield to protect the cluster, prevent unwanted access, encrypt trafic
  • Marvel monitoring tool to monitor nodes : JVM usage, search portlet usage on Liferay portal
  • Kibana to visualize the indexes on a graphical presentation
Expert Smile
Auteur de l’article

José Fernandez

Technical Architect

Avis des internautes

comments powered by Disqus