New version of AjaxFranceLabs

If you are an AjaxFranceLabs user (even if you’re not), we have updated the AjaxFranceLabs framework. Here is the list of fixes and improvements for this version (note that these fixes have been tested for the a Solr server, not a Constellio server due to lack of time):

  • Bug on the pager : with more than 80.000 documents, it was taking more than 2 secs to  process it on the client side. The processing algorithm complexity was in O(n), hence the growing issue. This is solved in the new version, by not injecting all the hidden pages at once.
  •  Bug on the selection facet: when there was a term in a facet, which was also a substring of another term in the same facet (e.g. doc and docx), then the selection/deselection mechanism was impacting both terms. This is solved in the new version.
  • Bug on the display when results between 0 to 9: By default, the display widget (searchinformationwidget) was always showing a status string with a minimum of 10 results. For instance, with 3 results, the widget was displaying: “Results from 0 to 10 out of 3”. This is now solved.
  • Bug on the facet exclusion mechanism: When you click on a facet of OR type, the system was not recalculating the global results (shown in parenthesis) for all the other facets. This is now solved.
  • Bug on the spellchecker: For the query building necessary for the spellchecker, the string created was inserting AND between the different terms typed. This was flushed out between each request, thus accumulating the ANDs. Thus Solr could not understand queries such as “France AND AND AND AND Labs”. This is now corrected: the query is not done anymore on the ajaxfrancelabs client side, but rather on the server side. For that, we now directly send the query string typed.
  • Improvement on the spellchecker answer processing: the spellchecker generated answer was processed by the Ajaxfrancelabs client side. It is now being processed by the Collation of the spellchecker of Solr. The client now receives directly a string matching the suggested query.
  •  Improvement of performances: there was always 2 requests sent to Solr: one for the query itself, one for the spellchecker. It is now corrected and we have just one query. This requires to configure your solr so that all is treated through one query.
  • Bug on a search of many documents: If you do two queries. Your first query holds many documents and you decide to go to page 25. If you now do a second query whose answers hold in only e.g. 10 pages, the system will still take you by default to the non-existing 25th page. This is now corrected. Each new query will take you to the first page.
  • Bug on facet pagination: If you do two queries and use facets. Your first query has many terms for a facet A, thus triggering pagination of this facet. If you now do a facet filtering on the same query, which entails that facet A now has terms that don’t require pagination, the initial pagination will still be there. This is now removed.
  • Improvement on facets: you can now do facet queries. It is a new widget called tablefacetquerieswidget. It allows you to handle the following use case: assuming you are building a search tool for a file share, this widget allows you to filter all the documents which are less than one year old.