SHI GmbH Augsburg - Ihr Starker Partner für Search & Big Data, Apache Solr, IT Commerce Lösungen

SHI - Fast Forward to Success
SHI - Fast Forward to Success
Geschwindigkeit zählt. Bei den Kosten und bei den Erfolgsaussichten.
Bei uns sorgen professionelles Projektmanagement und modulare Entwicklung
für Ihren raschen und effizienten Software-Projekterfolg.
SHI - Support und Service
SHI - Support und Service
Wir sind Dienstleister aus Leidenschaft und verstehen unsere Kunden.
Nach dem Projekt ist vor dem Projekt und individuelle, persönliche
Betreuung stehen bei uns ganz weit oben.
SHI - Beratung  Entwicklung  Consulting
SHI - Beratung Entwicklung Consulting
Wir beraten und unterstützen Sie mit Schulungen, Trainings und Consulting. Von der Strategieberatung bis zur Anwendungsentwicklung helfen wir Ihnen bei der Optimierung Ihrer
Geschäftsprozesse.
SHI - Individuelle Anwendungen aus Software-Bausteinen
SHI - Individuelle Anwendungen aus Software-Bausteinen
Bei uns bekommen Sie weder Software von der Stange, noch unerprobte Eigenentwicklungen. Wir setzen auf bewährte Open-Source-Technologien und setzen Ihre individuelle Anwendung
aus passenden
Bausteinen zusammen.

Universal AJAX Live Search

This tutorial shows how to change/fix the date format at indexing time in order to use the Apache Solr date functionalities.

Produkt:

Apache Solr (since version 4.4)

 

Problem:

Nearly every country has a unique notation for dates. Some countries have even multiple notations. For example in Germany the following formats are commonly used:
•    31.08.1980 (dd.MM.yyyy)
•    31. August 1980 (dd. MMMM yyyy)
•    1908-08-31 (yyyy-MM-dd)
Different date formats cause problems while indexing and using the Solr date field. Since Apache Solr accepts for the date field only the UTC format (yyyy-MM-ddThh:mm:ssZ) the date must be transformed into UTC format. If you attempt to index a "wrong" formatted date there will be an error and the corresponding document does not end up in the index.

 

Solution:

Apache Solr offers a solution to this problem since version 4.4. The solution is part of the so-called "schema-free" mode. Since version 4.4 there is a special UpdateProcessor for formatting dates. You have to configure the corresponding pattern in the solrconfig.xml and Apache Solr can start dealing with theses formats. The following excerpt shows such configuration.
<updateRequestProcessorChain name="parse_date">
    <processor class="solr.ParseDateFieldUpdateProcessorFactory">
        <str name="fieldName">date_field<str>
        <arr name="format">
            <str>dd.MM.yyyy</str>
            <str>dd.MM.yyyy hh:mm:ss</str>
            <str>dd. MMMM yyyy</str>
            <str>dd. MMMM yyyy hh:mm:ss</str>
            <str>yyyy-MM-dd</str>
            <str>yyyy-MM-dd hh:mm:ss</str>
        </arr>
        </processor>
    <processor class="solr.LogUpdateProcessorFactory"/>
     <processor class="solr.RunUpdateProcessorFactory"/>
</updateRequestProcessorChain>
This exemplary configuration allows you to process different date formats and can be easily expanded. Thus, the "date_field" field can now use the DateField functionalities and for example create a DateRange facet.


Additional Information:

•    SHI Blog – Solr ist Schemaless
•    Solr Reference  Guide – Working with Dates
•    Solr Reference  Guide – Schemaless Mode
•    Wikipedia – date formats

SEARCH & BIG DATA, BERATUNG, SCHULUNG, ENTWICKLUNG, SUPPORT, PUBLISHER SOLUTIONS
MIT APACHE SOLR, LUCENE, ELASTICSEARCH, SMARTLOGIC SEMAPHORE, SHI INFOPILOT