Personal tools

solr

Jan 17, 2014

Elasticsearch: un motore di ricerca open source, distribuito e RESTful

nuovi tool da explorare

Elasticsearch: un motore di ricerca open source, distribuito e RESTful

Filed Under:

A inizio anno si pianificano le attività per l'anno che sta per iniziare. Nel 2014, tra la lista dei framework da approfondire, c'è sicuramente Elasticsearch

La settimana scorsa, leggendo l'articolo New Year's Python Meme 2014 di Alessandro Pisa, mi sono soffermato a riflettere sulla quinta domanda proposta nel meme:

What are the top three things you want to learn next year?

read more

Nov 10, 2011

PloneConference 2011: novità e conferme

Di ritorno da San Francisco, ecco le anticipazioni e le conferme di cui abbiamo discusso durante una delle ultime best conference ever

Ancora una volta: "the best conference... ever" (cit.)
Tre track parallele, numerosi openspace, meeting in e out la conference, social party(!) ogni sera e per finire l'usuale sprint

Le 3D, ma molto altro

Il leitmotif di quest'anno è stato senz'altro il tris di Diazo, Deco e Dexterity. E' già un po' di tempo che se ne parla e non vi nascondo un po' di delusione nel vedere che sono ancora temi importanti.

Il punto cruciale sta nel fatto che negli anni passati è stata tentata una rivoluzione, che avrebbe però avuto un impatto troppo importante su tutto l'ecosistema Plone. Questo ha portato a una serie di complicazioni e di refactoring.

Ora si sta ragionando in termini di add-on per Plone che ne migliorino l'esperienza, senza introdurre stravolgimenti.

Diazo & CMSUI

E' ormai un sistema maturo utilizzato in produzione da molto tempo.

L'idea è di:

  1. semplificare la fase di skinning di Plone limitandola al frontend, più facilmente gestibile da Diazo,
  2. demandare a CMSUI tutta la fase di gestione del backend mantenendo il tutto contestuale, ma indipendente dal layout.

Direi che questi due video da soli sono sufficientemente esplicativi.

Diazo Theme Manager:

CMSUI:

Deco

Sta raggiungendo anche lui la maturazione e si sta lavorando sulla user experience. L'idea in questo caso è quella di sostituire prodotti come PortletPage

o Collage. Questa una preview realizzata dai colleghi di FourDigits.

Dexterity

Sugli scudi infine anche Dexterity, di cui parlammo ancora due anni fa come promessa e che ora sta raggiungendo il suo compimento. Sull'interfaccia c'è ancora da lavorare e non è uno strumento per tutte le stagioni, ma è sicuramente estremamente interessante.

Gli altri temi caldi

I miei talk preferiti sono stati:

  • Clone to Plone
  • Multiplayer Plone
  • Make plone search work like Google

Il primo racconta l'utilizzo di FunnelWeb per migrare portali da un altro sistema a Plone.

Nota mentale: ogni migrazione è un'isola, ogni migrazione è "painful"

Il secondo è stato tenuto da Geir Baekholt su istigazione di Yiorgis Gozadinos e permette di utilizzare Plone un po' alla GoogleDocs con tanto di chat e status:

 

Infine l'uso di Solr al fine di ottimizzare gli indici permette anche di aumentare le funzionalità "googlesche" di Plone:

 

Pyramid

La track "Related Tech" è stata fortemente monopolizzata da Pyramid. E' la tecnologia "sorella" di Plone che abbiamo sposato da tempo. Ne abbiamo parlato qui, qui e anche qui. Senza contare il talk di Andrew che ormai è un bestseller alle varie conferenze.

Pyramid è in diretta concorrenza con Django (framework di cui viceversa non si è parlato). E' da sottolineare il fatto che praticamente tutti i Plonisti a S. Francisco avessero fatto la stessa scelta e questo ci conforta sapendo di aver scelto a suo tempo nel modo corretto, ma soprattutto di essere in buona compagnia.

Il Keynote

Quest'anno l'usuale keynote è stato tenuto da P.J. Onori. Personalmente l'ho trovato di particolare ispirazione: è un inno alla crescita professionale, al capire l'usabilità delle cose, alla condivisione di esperienze tra developer e designer.

Più volte mi sono ritrovato a dire "si! si! si!".

 

I nostri talk

Avrete modo di leggere di più nei prossimi giorni sui talk (e lighting talk) di Andrew e Stefano. Mi limito a segnalarvi le presentazioni:
  • Bootstrap your app in 45 seconds (slideshare)
  • Plone in the Public Sector: Business and Sustainability Models (slideshare)

Mar 26, 2010

"Future is bright, future is Plone"

Sometimes when you are doing a lot of Plone development and integrations you could miss the big picture: Plone is not just a CMS. It's a damn good CMS with almost unlimited possibilities of integration. However its 'unlimity' has started to be one of its biggest limitations.

I'm working right now on a project that uses ore.contentmirror to serialize Plone content data to postgresql which can be later reused in repoze.bfg. I have found several similar deployments in the Plone community which were quite inspiring.

Plone integrationsThe scenario is almost always the same:

  • to use Plone as a CMS (backend)
  • to have fast framework (frontend) to serve my backend data
  • to include in frontend layer Web2.0 functionality and some other dynamic stuff
  • to make benefit of external indexing server for full text search, for both frontend and backend

 

You can of course use solr with collective.solr for search engine but thanks to tsearch2 some of the search/ranking functionalities can be taken directly from postgresql (making the whole stack much smaller and easier to maintain).

Serializing Plone data to SQL opens many possibilities. But with Plone you can do much more.

Plone integration world

You can integrate other CMS's like Alfresco or Sharepoint using CMIS. You can connect your Plone instance to Salesforce. Instead of using tsearch2 or solr as an indexing engine - you can use Google Search Appliance inside your Plone instance. If you want to start online document collaboration you can even connect it to Google Docs.

External services and applications are not the end of the story. There is of course WSGI with collective.xdv and Deliverance and bunch of other interesting middlewares and we shouldn't forget about PAS plugins.

It's possible that I missed something interesting. Plone community is very creative, thought. It's hard to be always up to date. That's why I'm sure that I miss a place where integrators and developers can share they successful stories and discuss potential use cases. A place which will make Plone future bright.

 

Sep 07, 2009

Solr explanations in collective.solr search results

Filed Under:

If you are using Solr score boost configuration, sometimes you need to know how certain document has been scored. Now you can see Solr explanation in Plone search results.

I'm still working on collective.solr branch. To help our customer to understand how certain documents has been scored, I've included in Plone search results an configurable option - debug query.

Configuration

Using it you can check directly in Plone, Solr score explanation (it's toggled by jQuery).

hidden:

Hidden explanation

and unfold:

Full explanation

Sep 03, 2009

Solr score in collective.solr

Filed Under:

I've recently created a branch merging rt.solr with collective.solr. You can now boost search results' relevancy directly from Plone configuration

For one of our customer we have been developing Solr score configuration in Plone. After a short discussion with witsch we have decided to contribute our efforts and merge everything to collective.solr branch. This is just a simple configuration panel with additional score query builder. Every score-boost entry has 3 fields: index, value and score. In current implementation if you leave value empty - it will be populated with SearchableText index value - when building the query. This approach allows flexibility our customer needs.

Let's assume you want to sort results as follow:

  • Description has a query boost 10.0
  • portal_type=Document has a query boost 15.0
  • review_state=published has a query boost 20.0

In this way you can boost Description index (for which the value will be taken from SearchableText) and portal_type index (for which you can define the value manualy) at the same time.

to-do: we would like to add as an option Solr score explanation in search results (for users who want to know why certain document has certain score).

We have found also some problems with Lucene proximity algorithm which can give some problems (it should be configurable in Solr 1.4.0).