<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wiizio &#187; Solr</title>
	<atom:link href="http://www.wiizio.com/tag/solr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wiizio.com</link>
	<description>Solutions de recherche d&#039;entreprise open-source</description>
	<lastBuildDate>Thu, 06 Jan 2011 17:21:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Obtenir une compilation nocturne de Lucene 4.0 et Solr 4.0</title>
		<link>http://www.wiizio.com/2010/11/03/obtenir-une-compilation-nocturne-de-lucene-4-0-et-solr-4-0/</link>
		<comments>http://www.wiizio.com/2010/11/03/obtenir-une-compilation-nocturne-de-lucene-4-0-et-solr-4-0/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 18:15:09 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[nightly build]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=328</guid>
		<description><![CDATA[<p>Depuis le début de l&#8217;année les sources de Lucene et Solr ont fusionnées.  La prochaine version commune aura pour numéro 4.0. Pour ceux qui  veulent déjà tester la version en cours de développement, il faut en  récupérer les sources et les compiler. En effet, les liens de  téléchargement des compilations nocturnes <p>Lire la suite <a href="http://www.wiizio.com/2010/11/03/obtenir-une-compilation-nocturne-de-lucene-4-0-et-solr-4-0/">Obtenir une compilation nocturne de Lucene 4.0 et Solr 4.0</a></p>]]></description>
			<content:encoded><![CDATA[<p>Depuis le début de l&#8217;année les sources de Lucene et Solr ont fusionnées.  La prochaine version commune aura pour numéro 4.0. Pour ceux qui  veulent déjà tester la version en cours de développement, il faut en  récupérer les sources et les compiler. En effet, les liens de  téléchargement des compilations nocturnes ne fonctionnent pas. En  prérequis, il faut disposer de <strong>svn</strong> client et de <strong>ant</strong>.<span id="more-328"></span></p>
<p>Sur <a href="https://hudson.apache.org/hudson/job/Solr-trunk/" target="_blank">cette page</a>, il est possible de voir le statut de la dernière compilation nocturne. Si ce statut indique une compilation réussie, la procédure pour obtenir et compiler les sources est la suivante :</p>
<p>Créer un répertoire de travail :</p>
<pre>mkdir ~/solr-4.0
</pre>
<p>Se placer dans ce répertoire et récupérer les sources :</p>
<pre>cd ~/solr-4.0
svn checkout http://svn.apache.org/repos/asf/lucene/dev/trunk
</pre>
<p>Compiler les sources :</p>
<pre>cd ~/solr-4.0/modules
ant compile
cd ~/solr-4.0/lucene
ant dist
cd ~/solr-4.0/modules
ant dist</pre>
<p>Le tour est joué !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2010/11/03/obtenir-une-compilation-nocturne-de-lucene-4-0-et-solr-4-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indexation multi-lingues avec Lucene et Solr</title>
		<link>http://www.wiizio.com/2010/10/31/indexation-multi-lingues-avec-lucene-et-solr/</link>
		<comments>http://www.wiizio.com/2010/10/31/indexation-multi-lingues-avec-lucene-et-solr/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 18:26:18 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[multilingues]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=322</guid>
		<description><![CDATA[<p>Un des challenges lors du passage de Fast ESP à Solr pour le moteur Hurisearch a été de pouvoir indexer et rechercher des documents dans un très grand nombre de langues. Plus de 60 langues sont répertoriées avec par exemple par ordre décroissant d&#8217;importance : Anglais, Espagnol, Français, Allemand, Flamand, Russe, Arabe, Slovène, Hébreux, Persan <p>Lire la suite <a href="http://www.wiizio.com/2010/10/31/indexation-multi-lingues-avec-lucene-et-solr/">Indexation multi-lingues avec Lucene et Solr</a></p>]]></description>
			<content:encoded><![CDATA[<p>Un des challenges lors du passage de <a href="http://www.microsoft.com/enterprisesearch/en/us/Fast.aspx" target="_blank">Fast ESP</a> à <a href="http://www.zoonix.fr/2008/09/18/presentation-de-lucene-solr/" target="_blank">Solr</a> pour le moteur <a href="http://www.hurisearch.org/">Hurisearch</a> a été de pouvoir indexer et rechercher des documents dans un très grand nombre de langues. Plus de 60 langues sont répertoriées avec par exemple par ordre décroissant d&#8217;importance : Anglais, Espagnol, Français, Allemand, Flamand, Russe, Arabe, Slovène, Hébreux, Persan (Farci), Coréen, Tchèque, Chinois, Norvégien, Japonais, Roumain, Catalan, Hongrois, Géorgien, &#8230;</p>
<p><strong>Lucene</strong> et différentes contributions permettent de disposer d&#8217;analyzer et même de &laquo;&nbsp;stemmer&nbsp;&raquo; pour un grand nombre de ces langues. Avec <strong>Solr</strong>, le seul moyen pour associer le bon analyzer à chaque langue est d&#8217;avoir autant de champs dans le shema qu&#8217;il y a de langues possibles et d&#8217;associer à chaque champ le bon analyzer. Pour <strong>Hurisearch</strong>, cela aurait donc fait 60 champs pour le contenu des documents et 60 champs pour les titres. L&#8217;autre problème dans ce cas est également de ne pas pouvoir chercher lors d&#8217;une même requête dans la totalité des langues  simultanément. Autant dire que ces contraintes et limitations ne sont pas acceptables.<span id="more-322"></span></p>
<p>Il est impératif d&#8217;utiliser un champ unique pour toutes les langues. Comme il est possible d&#8217;associer un seul analyzer à ce champ, ce dernier doit donc s&#8217;adapter à la langue du texte en cours d&#8217;indexation et à la langue de la requête (il faut également traiter la requête en fonction de sa langue). Deux analyzers ont donc été développés afin de traiter le texte au mieux en fonction de sa langue : un analyzer pour indexer le texte sans le &laquo;&nbsp;stemmer&nbsp;&raquo; et un en le &laquo;&nbsp;stemmant&nbsp;&raquo; lorsque cela est possible (<a href="http://en.wikipedia.org/wiki/Word_stem" target="_blank">voici une explication en anglais de ce qu&#8217;est un stem</a>).</p>
<p>Le dernier point à résoudre a été de trouver comment indiquer à l&#8217;analyzer la langue du texte qu&#8217;il va traiter. Avec <strong>Lucene</strong>, cela n&#8217;est pas un problème car les constructeurs (classes java) des analyzers  peuvent posséder une paramètre qui indique la langue. Par contre, avec <strong>Solr</strong>, cela n&#8217;est pas possible, les paramètres passés aux constructeurs des analyzers sont figés dans le fichier shema.xml. La solution a donc été de passer cette information en en-tête du texte lors de l&#8217;indexation et de la requête lors de la recherche.</p>
<p>En conclusion, nous avons été en mesure d&#8217;indexer un grand nombre de langues tout en pouvant rechercher simultanément dans tous les documents quelque soit leur langue et en offrant la possibilité de retrouver les mots indépendamment de leurs formes (genre, nombre, conjugaisons, &#8230;). Aujourd&#8217;hui, <strong>Hurisearch</strong> <a href="http://www.zoonix.fr/2010/03/07/un-crawler-web-pour-solr/">crawle</a> 5400 sites Web sites qui représentent plus de 10 millions de pages indexées pas <strong>Solr</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2010/10/31/indexation-multi-lingues-avec-lucene-et-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrader Lucene dans Solr 1.4</title>
		<link>http://www.wiizio.com/2010/10/31/upgrader-lucene-dans-solr-1-4/</link>
		<comments>http://www.wiizio.com/2010/10/31/upgrader-lucene-dans-solr-1-4/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 18:10:44 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=311</guid>
		<description><![CDATA[<p>Solr 1.4 utilise Lucene 2.9.0 et depuis sa sortie en novembre 2009, des mises à jours de Lucene sont disponibles. La dernière version de ce dernier est la 2.9.3. Afin de bénéficier de ces mises à jours dans Solr, il est possible de patcher le fichier solr.war. Les étapes pour réaliser ceci sont :</p>
<p>* créer <p>Lire la suite <a href="http://www.wiizio.com/2010/10/31/upgrader-lucene-dans-solr-1-4/">Upgrader Lucene dans Solr 1.4</a></p>]]></description>
			<content:encoded><![CDATA[<p>Solr 1.4 utilise Lucene 2.9.0 et depuis sa sortie en novembre 2009, des mises à jours de Lucene sont disponibles. La dernière version de ce dernier est la 2.9.3. Afin de bénéficier de ces mises à jours dans Solr, il est possible de patcher le fichier solr.war. <span id="more-311"></span>Les étapes pour réaliser ceci sont :</p>
<p>* créer un répertoire de travail</p>
<pre style="padding-left: 30px;">mkdir /tmp/solr</pre>
<p>* copier solr.war dans /tmp/solr</p>
<p>* extraire le contenu de solr.war et effacer solr.war</p>
<pre style="padding-left: 30px;">cd /tmp/solr
jar -xvf solr.war
rm solr.war</pre>
<p>* remplacer dans /tmp/solr/WEB-INF/lib tous les fichiers lucene-&#8230;-2.9.0.jar par leurs équivalents en version 2.9.3.</p>
<p>* astuce pour les utilisateurs de mac os, il faut supprimer les fichiers cachés &laquo;&nbsp;.DS_Store&nbsp;&raquo; qui ont été créés dans chaque répertoire</p>
<pre style="padding-left: 30px;">find . -name .DS* -print -exec rm -rf {} \;</pre>
<p>* reconstruire solr.war</p>
<pre style="padding-left: 30px;">jar cvf solr.war .</pre>
<p>Pour consulter la liste des évolutions et corrections depuis Lucene 2.9.0, vous pouvez consulter le &laquo;&nbsp;<a href="http://lucene.apache.org/java/2_9_2/changes/Changes.html" target="_blank">Lucene Change Log</a>&laquo;&nbsp;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2010/10/31/upgrader-lucene-dans-solr-1-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recherche open source: Lucene fait son show</title>
		<link>http://www.wiizio.com/2010/04/26/recherche-open-source-lucene-fait-son-show/</link>
		<comments>http://www.wiizio.com/2010/04/26/recherche-open-source-lucene-fait-son-show/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 16:07:09 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Actualité Moteur de Recherche Open Source]]></category>
		<category><![CDATA[logiciel_libre]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[moteur_de_recherche]]></category>
		<category><![CDATA[open_source]]></category>
		<category><![CDATA[search_engine]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=309</guid>
		<description><![CDATA[<p>Apache Lucene et Apache Solr, deux solutions open source d’indexation et de recherche des données, seront au cœur de l’Apache Lucene EuroCon 2010.</p>
<p>A lire ici</p>
]]></description>
			<content:encoded><![CDATA[<p>Apache Lucene et Apache Solr, deux solutions open source d’indexation et de recherche des données, seront au cœur de l’Apache Lucene EuroCon 2010.</p>
<p><a href="http://www.silicon.fr/fr/news/2010/04/26/la_solution_de_recherche_open_source_lucene_fait_son_show" target="_blank">A lire ici</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2010/04/26/recherche-open-source-lucene-fait-son-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sematext met en oeuvre Lucene Solr</title>
		<link>http://www.wiizio.com/2010/01/14/sematext-met-en-oeuvre-lucene-solr/</link>
		<comments>http://www.wiizio.com/2010/01/14/sematext-met-en-oeuvre-lucene-solr/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 10:49:40 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Actualité Moteur de Recherche Open Source]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[moteur_de_recherche]]></category>
		<category><![CDATA[open_source]]></category>
		<category><![CDATA[search_engine]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=298</guid>
		<description><![CDATA[<p>http://sematext.com/</p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://sematext.com/">http://sematext.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2010/01/14/sematext-met-en-oeuvre-lucene-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lucene / Solr &#8211; Open Source Search Engine Features</title>
		<link>http://www.wiizio.com/2009/11/23/lucene-solr-open-source-search-engine-features/</link>
		<comments>http://www.wiizio.com/2009/11/23/lucene-solr-open-source-search-engine-features/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 08:20:09 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Actualité Moteur de Recherche Open Source]]></category>
		<category><![CDATA[logiciel_libre]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[moteur_de_recherche]]></category>
		<category><![CDATA[open_source]]></category>
		<category><![CDATA[search_engine]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=290</guid>
		<description><![CDATA[<p>Lucene and Solr can be considered as an open backbone for users who have the freedom to plug-in the best tool for their work.</p>
<p>A lire sur  ARTICLE GALLERY</p>
]]></description>
			<content:encoded><![CDATA[<p>Lucene and Solr can be considered as an open backbone for users who have the freedom to plug-in the best tool for their work.</p>
<p>A lire sur  <a title="Open Source Search Engine Features" href="http://www.articlegallery.net/Art/289914/397/Lucene-Solr-Open-Source-Search-Engine-Features.html">ARTICLE GALLERY</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2009/11/23/lucene-solr-open-source-search-engine-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Une interview de Erik Hatcher un contributeur majeur de Lucene et Solr</title>
		<link>http://www.wiizio.com/2009/10/25/une-interview-de-erik-hatcher-un-developpeur-de-lucene-et-solr/</link>
		<comments>http://www.wiizio.com/2009/10/25/une-interview-de-erik-hatcher-un-developpeur-de-lucene-et-solr/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 22:41:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actualité Open Source]]></category>
		<category><![CDATA[Hatcher]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=277</guid>
		<description><![CDATA[<p>Parue sur The Bitesource</p>
<p>Erik Hatcher est un développeur de logiciels open-source. Avant Lucene et Solr, il a participé à de nombreux projets comme Ant, Tapestry et plusieurs sous-projet Jakarta.</p>
<p>Lisez son interview sur The Bitsource</p>
]]></description>
			<content:encoded><![CDATA[<p>Parue sur <a href="http://www.thebitsource.com/" target="_blank">The Bitesource</a></p>
<p>Erik Hatcher est un développeur de logiciels open-source. Avant Lucene et Solr, il a participé à de nombreux projets comme Ant, Tapestry et plusieurs sous-projet Jakarta.</p>
<p>Lisez son interview sur <a href="http://www.thebitsource.com/2009/10/18/erik-hatcher-on-apache-lucene-and-solr-search-applications/" target="_blank">The Bitsource</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2009/10/25/une-interview-de-erik-hatcher-un-developpeur-de-lucene-et-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L&#8217;open source dans sa logique mutualiste, un vecteur de compétitivité</title>
		<link>http://www.wiizio.com/2009/10/23/lopen-source-dans-sa-logique-mutualiste-un-vecteur-de-competitivite/</link>
		<comments>http://www.wiizio.com/2009/10/23/lopen-source-dans-sa-logique-mutualiste-un-vecteur-de-competitivite/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 15:03:58 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Actualité Open Source]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[logiciel_libre]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[moteur_de_recherche]]></category>
		<category><![CDATA[search_engine]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=275</guid>
		<description><![CDATA[
par Patrice BERTRAND, Directeur Général de Smile

<p></p>

<p>Lorsqu&#8217;on parle des business models de l&#8217;open source, on pense le plus souvent à ses acteurs économiques, éditeurs de logiciel, intégrateurs, distributeurs, prestataires de support, tous entreprises à but lucratif si l&#8217;on peut dire.</p>


La suite sur Progilibre.com
]]></description>
			<content:encoded><![CDATA[<div>
<div>par Patrice BERTRAND, Directeur Général de Smile</div>
</div>
<p><br class="spacer_" /></p>
<div>
<p>Lorsqu&#8217;on parle des business models de l&#8217;open source, on pense le plus souvent à ses acteurs économiques, éditeurs de logiciel, intégrateurs, distributeurs, prestataires de support, tous entreprises à but lucratif si l&#8217;on peut dire.</p>
</div>
<div></div>
<div>La suite sur <a href="http://www.progilibre.com/L-open-source-dans-sa-logique-mutualiste,-un-vecteur-de-competitivite_a965.html">Progilibre.com</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2009/10/23/lopen-source-dans-sa-logique-mutualiste-un-vecteur-de-competitivite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solr &#8211; Installation et configuration (2)</title>
		<link>http://www.wiizio.com/2009/10/17/solr-installation-et-configuration-2/</link>
		<comments>http://www.wiizio.com/2009/10/17/solr-installation-et-configuration-2/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 10:08:04 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[jndi]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=91</guid>
		<description><![CDATA[




<p>Dans les précédents articles consacrés à Solr, j&#8217;en décris les principes (Présentation de Lucene Solr) et comment installer et configurer de façon très basique Solr afin de pouvoir indexer et rechercher dans le jeu de données de test fourni dans la distribution (Solr &#8211; Installation et configuration (1)).</p>
<p>Dans ce nouvel article, je vais expliquer plus <p>Lire la suite <a href="http://www.wiizio.com/2009/10/17/solr-installation-et-configuration-2/">Solr &#8211; Installation et configuration (2)</a></p>]]></description>
			<content:encoded><![CDATA[<table style="border-style: solid; border-width: 0pt; background-color: #ffffff;" border="0">
<tbody>
<tr style="background-color: #ffffff;" valign="top">
<td style="border-style: solid; border-width: 0px; background-color: #ffffff;"><img class="alignleft size-full wp-image-134" title="logo_home_solr" src="http://www.wiizio.com/wp-content/uploads/2009/10/logo_home_solr.jpg" alt="logo_home_solr" width="105" height="47" /></td>
<td style="border-style: solid; border-width: 0px; background-color: #ffffff;">
<p>Dans les précédents articles consacrés à <strong>Solr</strong>, j&#8217;en décris les principes (<a href="http://www.wiizio.com/2009/10/01/introduction-a-solr/">Présentation de Lucene Solr</a>) et comment installer et configurer de façon très basique <strong>Solr </strong>afin de pouvoir indexer et rechercher dans le jeu de données de test fourni dans la distribution (<a href="http://www.wiizio.com/2009/10/02/introduction-a-solr-installation-et-configuration-1/">Solr &#8211; Installation et configuration (1)</a>).</p>
<p>Dans ce nouvel article, je vais expliquer plus en détail les points suivants :</p>
<ul>
<li>Le contenu de la distribution</li>
<li>Les fichiers de configuration</li>
<li>Comment gérer plusieurs indexes ?</li>
<li>Comment gérer plusieurs applications ?</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p><span id="more-91"></span></p>
<h3>Le contenu de la distribution</h3>
<p>Une fois récupérée et décompressée dans un répertoire, la distribution de Solr contient différents répertoires.</p>
<table border="0">
<tbody>
<tr>
<td style="background-color: #dcdcdc;" colspan="3"><strong>Client</strong></td>
</tr>
<tr>
<td style="width: 20px;"></td>
<td colspan="2">Des API clientes pour Java (solrj) et Ruby (solr-ruby). Il existe en fait des solutions d&#8217;intégration avec d&#8217;autres langages (Perl, PHP, Python, C#, &#8230;). Une liste est disponible <a href="http://wiki.apache.org/solr/IntegratingSolr" target="_blank">ici </a>sur le wiki de Solr.</td>
</tr>
<tr>
<td style="background-color: #dcdcdc;" colspan="3"><strong>Contrib</strong></td>
</tr>
<tr>
<td style="width: 20px;"></td>
<td colspan="2">
<p>Des outils qui contribuent à étendre les fonctionnalités de Solr. Dans la distribution 1.3.0, il s&#8217;agit uniquement de l&#8217;outil dataimporthandler pour l&#8217;importation et l&#8217;indexation de données issues d&#8217;une base de données.</p>
<p>Dans les versions futures, il pourrait s&#8217;agir également d&#8217;un outil d&#8217;extraction du contenu de documents Office ou PDF (basé sur Tika), d&#8217;une intégration avec <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">Jsdoc Toolkit</a> et d&#8217;une intégration avec le <a href="http://velocity.apache.org/engine/index.html" target="_blank">framework Velocity</a>.</p>
</td>
</tr>
<tr>
<td style="background-color: #dcdcdc;" colspan="3"><strong>Dist</strong></td>
</tr>
<tr>
<td style="width: 20px;"></td>
<td colspan="2">Les binaires issus de la compilation des sources de <strong>Solr </strong>et les librairies dont dépend <strong>Solr</strong>.</td>
</tr>
<tr>
<td style="background-color: #dcdcdc;" colspan="3"><strong>Docs</strong></td>
</tr>
<tr>
<td style="width: 20px;"></td>
<td colspan="2">La documentation de <strong>Solr</strong></td>
</tr>
<tr>
<td style="background-color: #dcdcdc;" colspan="3"><strong>Example</strong></td>
</tr>
<tr>
<td style="width: 20px;"></td>
<td colspan="2">Des exemples de mise en oeuvre et le nécessaire pour exécuter Solr avec Jetty. Les principaux sous-répertoires sont :</td>
</tr>
<tr>
<td></td>
<td colspan="2"><strong>Multicore</strong></td>
</tr>
<tr>
<td></td>
<td style="width: 20px;"></td>
<td>Exemple de paramétrage en mode multi-core afin de gérer des applications et des index multiples dans une même webapp du serveur J2EE.</td>
</tr>
<tr>
<td></td>
<td colspan="2"><strong>Solr</strong></td>
</tr>
<tr>
<td></td>
<td style="width: 20px;"></td>
<td>Exemple de répertoire &laquo;&nbsp;Home&nbsp;&raquo; de Solr et fichiers de configuration par défaut.</td>
</tr>
<tr>
<td></td>
<td colspan="2"><strong>Webapps</strong></td>
</tr>
<tr>
<td></td>
<td style="width: 20px;"></td>
<td>Le fichier war à déployer dans la serveur J2EE et utiliser par le lanceur jetty fourni en exemple.</td>
</tr>
<tr>
<td style="background-color: #dcdcdc;" colspan="3"><strong>Lib</strong></td>
</tr>
<tr>
<td style="width: 20px;"></td>
<td colspan="2">Les librairies java dont dépend <strong>Solr</strong></td>
</tr>
<tr>
<td style="background-color: #dcdcdc;" colspan="3"><strong>Src</strong></td>
</tr>
<tr>
<td style="width: 20px;"></td>
<td colspan="2">Les sources de <strong>Solr</strong></td>
</tr>
</tbody>
</table>
<p>Mettre en place un environnement d&#8217;exécution de Solr à partir des éléments de la distribution est très simple. Il faut :</p>
<ol>
<li>créer un environnement d&#8217;exécution en copiant le répertoire &laquo;&nbsp;/example/solr&nbsp;&raquo;, sous par exemple &laquo;&nbsp;/opt/solr&nbsp;&raquo; (Linux) ou &laquo;&nbsp;c:/solr&nbsp;&raquo; (windows) </li>
<li>copier le fichier solr.war contenu dans le répertoire webapps des exemples vers le répertoire approprié du serveur d&#8217;application (répertoire webapps par exemple pour Tomcat)</li>
<li>configurer le serveur d&#8217;application pour qu&#8217;il soit lancé avec la variable d&#8217;environnement solr.home.home pointant vers le répertoire d&#8217;exécution (par exemple : -Dsolr.solr.home=/opt/solr) et le redémarrer</li>
</ol>
<p>Dans le répertoire pointé par la variable d&#8217;environnement &laquo;&nbsp;solr.solr.home&nbsp;&raquo;, on retrouve donc les répertoires &laquo;&nbsp;bin&nbsp;&raquo; (scripts utilitaires pour un environnement Linux), &laquo;&nbsp;conf&nbsp;&raquo; (fichiers de configuration) et &laquo;&nbsp;data&nbsp;&raquo; (y sera entre autres localisés l&#8217;index Lucene des données indexées).</p>
<h3>Les fichiers de configuration</h3>
<p>Les fichiers de configuration sont localisés dans le répertoire &laquo;&nbsp;/conf&nbsp;&raquo;. Il s&#8217;agit principalement de solrconfig.xml et schema.xml.</p>
<h4>solrconfig.xml</h4>
<p>Il s&#8217;agit du fichier qui contient l&#8217;essentiel des paramètres liés au fonctionnement de Solr et plus particulièrement des paramètres de l&#8217;API Lucene qu&#8217;utilise Solr (longueur maximale d&#8217;une champs, taille des buffer mémoire, fréquence de commit, &#8230;) . Ce fichier est très bien auto-documenté et fait l&#8217;objet <a href="http://wiki.apache.org/solr/SolrConfigXml" target="_blank">d&#8217;un document a part entière dans le wiki Solr</a>.</p>
<h4>schema.xml</h4>
<p>Il s&#8217;agit du fichier qui décrit comment seront indexées les données dans Solr. Il définit les types de données, les champs, les manipulations sur les données lors de l&#8217;indexation, les champs obligatoires, le champ de requête par défaut, &#8230;</p>
<p>Ce fichier est très bien auto-documenté et fait l&#8217;objet <a href="http://wiki.apache.org/solr/SchemaXml" target="_blank">d&#8217;un document a part entiere dans le wiki Solr</a>.</p>
<h5>Exemple de déclaration d&#8217;un type</h5>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fieldType</span> <span style="color: #000066;">name</span>=”string” <span style="color: #000066;">class</span>=”solr.StrField” <span style="color: #000066;">sortMissingLast</span>=”true” <span style="color: #000066;">omitNorms</span>=”true”<span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Ce type a pour nom &laquo;&nbsp;string&nbsp;&raquo;, il sera pris en charge lors de l&#8217;indexation par la classe &laquo;&nbsp;solr.StrField&nbsp;&raquo;, lors d&#8217;un tri du résultat sur ce champ, les documents ne le possédant pas seront positionnés en dernier (sortMissingLast=&nbsp;&raquo;true&nbsp;&raquo;) et lors de l&#8217;indexation les informations de normalisation basées sur la taille du champ seront calculées et stockées (omitNorms=&nbsp;&raquo;true&nbsp;&raquo;).</p>
<h5>Exemple de déclaration d&#8217;un champ</h5>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;field</span> <span style="color: #000066;">name</span>=%u201Dword%u201D <span style="color: #000066;">type</span>=%u201Dstring%u201D <span style="color: #000066;">indexed</span>=%u201Dtrue%u201D <span style="color: #000066;">stored</span>=%u201Dtrue%u201D<span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Les données indexées dans <strong>Solr </strong>par le service d&#8217;indexation sont contenues dans un <a href="http://fr.wikipedia.org/wiki/Datagramme" target="_blank">datagramme </a>de type XML. Lorsque Solr traite ce datagramme, il rapproche le nom de chaque élément XML avec le nom d&#8217;un champ. Il manipule alors la donnée associé à cet élément comme cela est défini par la définition du champ.  <br class="spacer_" /> Ce champ est du type &laquo;&nbsp;string&nbsp;&raquo; (donc il hérite des propriétés de ce type). Il est indexé (donc les recherches peuvent porter sur son contenu) et les données de ce champs sont stokées (donc elles peuvent être récupérées au moment de l&#8217;affichage d&#8217;une liste de résultats par exemple).  D&#8217;autres paramètres importants peuvent également être définis lors de la déclaration d&#8217;un champ. Il s&#8217;agit de la méthode d&#8217;analyse lors de &#8216;indexation ou de la recherche. La méthode d&#8217;analyse permet de définir comment seront traitées les données du champ, à savoir son mode de découpage en mots (tokenizer) et les filtres qui lui seront appliqués (filter). Les filtres permettent par exemple de supprimer les mots vides, de mettre tous les mots en minuscule, de convertir les mots accentués en leurs équivalents sans accent, &#8230;</p>
<h5>Exemple de déclaration d&#8217;un champ dynamique</h5>
<p>Une déclaration de champ dynamique permet d&#8217;associer un traitement à des éléments du datagramme XML même si ces derniers ne sont pas spécifiquement déclarés comme champs.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;dynamicField</span> <span style="color: #000066;">name</span>=%u201D*_s%u201D  <span style="color: #000066;">type</span>=%u201Dstring%u201D  <span style="color: #000066;">indexed</span>=%u201Dtrue%u201D  <span style="color: #000066;">stored</span>=%u201Dtrue%u201D<span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Tout élément du datagramme XML dont le nom se termine par &laquo;&nbsp;_s&nbsp;&raquo;, est considéré comme un élément de nom &laquo;&nbsp;string&nbsp;&raquo;.</p>
<h3>Comment gérer plusieurs indexes ?</h3>
<p>Par défaut, une instance Solr ne peut manipuler qu&#8217;un index. Comment faire si mon application doit permettre l&#8217;indexation de plusieurs types de données comme par exemple un annuaire de personnes et les messages d&#8217;un forum de discussion ?  Jusqu&#8217;à la version de 1.2 de Solr, il existait 2 solutions : associer un type à chaque document dans l&#8217;index (personne, message, &#8230;) ou utiliser plusieurs webapps dans le serveur J2EE et les faire pointer vers des environnements différents (-D=solr.solr.home=&#8230;). L&#8217;association d&#8217;un type à chaque document permet lors de la recherche de filtrer la liste de résultats en se limitant aux documents d&#8217;un ou plusieurs types. Utiliser plusieurs webapps permet d&#8217;utiliser un index distinct pour chaque type de documents.  Avec la version 1.3 de Solr est apparue la notion de &laquo;&nbsp;SolrCore&nbsp;&raquo; multiples. Un &laquo;&nbsp;SolrCore&nbsp;&raquo; est un environnement complet Solr (configuration et index) qui est exécuté par une webapps du serveur j2EE. Il est donc possible au moyen d&#8217;une seule webapps Solr de gérer plusieurs &laquo;&nbsp;SolrCore&nbsp;&raquo;. les SolrCore sont déclarés dans un fichier XML &laquo;&nbsp;solr.xml&nbsp;&raquo; localisé dans le répertoire solr.solr.home associé à la webapp. <br class="spacer_" /></p>
<h5>Exemple d&#8217;un environnement mono-core</h5>
<pre>solr.solr.home=/opt/solr  </pre>
<p>Les répertoires d&#8217;installation sont organisés comme ceci :</p>
<pre>/opt
    /solr
        /bin
        /conf
        /data
        /webapps
            solr.war
</pre>
<p>Pour un paramétrage de Tomcat au moyen de JNDI, on place dans le répertoire conf/Calalina/localhost de Tomcat, le fichier solr.xml suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Context</span> <span style="color: #000066;">docBase</span>=<span style="color: #ff0000;">&quot;/opt/solr/webapps/solr.war&quot;</span> <span style="color: #000066;">debug</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">crossContext</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Environment</span></span>
<span style="color: #009900;">        <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;solr/home&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;java.lang.String&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/opt/solr/&quot;</span> <span style="color: #000066;">override</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Context<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Les urls d&#8217;accès à l&#8217;administration et aux web service Solr sont :</p>
<table border="1">
<tbody>
<tr>
<td>Administration</td>
<td>=&gt;</td>
<td>http://&lt;server&gt;:&lt;port&gt;/solr/admin/</td>
</tr>
<tr>
<td>Indexation / suppression</td>
<td>=&gt;</td>
<td>http://&lt;server&gt;:&lt;port&gt;/solr/update</td>
</tr>
<tr>
<td>Recherche</td>
<td>=&gt;</td>
<td>http://&lt;server&gt;:&lt;port&gt;/solr/select</td>
</tr>
</tbody>
</table>
<h5>Exemple d&#8217;un environnement multi-core</h5>
<p>solr.solr.home=/opt/solr</p>
<p>Les répertoires d&#8217;installation sont organisés comme ceci :</p>
<p>/opt</p>
<pre>    /solr
        solr.xml
        /core0
            /bin
            /conf
            /data
        /core1
            /bin
            /conf
            /data
        /webapps
            solr.war
</pre>
<p>Pour un paramétrage de Tomcat au moyen de JNDI, on place dans le répertoire conf/Calalina/localhost de Tomcat, le fichier solr.xml suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Context</span> <span style="color: #000066;">docBase</span>=<span style="color: #ff0000;">&quot;/opt/solr/webapps/solr.war&quot;</span> <span style="color: #000066;">debug</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">crossContext</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Environment</span></span>
<span style="color: #009900;">        <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;solr/home&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;java.lang.String&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/opt/solr/&quot;</span> <span style="color: #000066;">override</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Context<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Dans le répertoire pointé par solr.solr.home, on place de féchier solr.xml suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;solr</span> <span style="color: #000066;">persistent</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">sharedLib</span>=<span style="color: #ff0000;">&quot;lib&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cores</span> <span style="color: #000066;">adminPath</span>=<span style="color: #ff0000;">&quot;/admin/cores&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;core0&quot;</span> <span style="color: #000066;">instanceDir</span>=<span style="color: #ff0000;">&quot;core0&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;core1&quot;</span> <span style="color: #000066;">instanceDir</span>=<span style="color: #ff0000;">&quot;core1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/cores<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/solr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Les urls d&#8217;accès à l&#8217;administration et aux web service Solr des cores 0 et 1 sont :</p>
<table border="1">
<tbody>
<tr>
<td valign="top">Administration</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/solr/core0/admin/ <br />
 http://&lt;server&gt;:&lt;port&gt;/solr/core1/admin/</td>
</tr>
<tr>
<td valign="top">Indexation / suppression</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/solr/core0/update <br />
 http://&lt;server&gt;:&lt;port&gt;/solr/core1/update</td>
</tr>
<tr>
<td valign="top">Recherche</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/solr/core0/select  <br />
 http://&lt;server&gt;:&lt;port&gt;/solr/core1/select</td>
</tr>
</tbody>
</table>
<p><br class="spacer_" /></p>
<h3>Comment gérer plusieurs applications ?</h3>
<p>Imaginons que vous souhaitez indexer des données issues de différentes applications, pour l&#8217;exemple, un outil de gestion de contenu (ECM) et un forum de discussion. Chacune de ces applications nécessitant l&#8217;indexation de 2 types de données totalement différentes, pour l&#8217;exemple, des utilisateurs et des documents (ECM) ou des messages (forum).</p>
<p>Dans ce cas, je propose d&#8217;utiliser une webapp par application et un core par type de données.</p>
<p>On a donc un environnement comme celui-ci :</p>
<pre>solr.solr.home=/opt/solr</pre>
<p>Les répertoires d&#8217;installation sont organisés comme ceci :</p>
<p>/opt</p>
<pre>    /solr
        /ecm
            solr.xml
            /utilisateurs
                /bin
                /conf
                /data
            /documents
                /bin
                /conf
                /data
        /forum
            solr.xml
            /utilisateurs
                /bin
                /conf
                /data
            /messages
                /bin
                /conf
                /data
        /webapps
            solr.war
</pre>
<p>Pour un paramétrage de Tomcat au moyen de JNDI, on place dans le répertoire conf/Calalina/localhost de Tomcat, le fichier ecm.xml suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Context</span> <span style="color: #000066;">docBase</span>=<span style="color: #ff0000;">&quot;/opt/solr/webapps/solr.war&quot;</span> <span style="color: #000066;">debug</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">crossContext</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Environment</span></span>
<span style="color: #009900;">        <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;solr/home&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;java.lang.String&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/opt/solr/ecm&quot;</span> <span style="color: #000066;">override</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Context<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>et le fichier forum.xml suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Context</span> <span style="color: #000066;">docBase</span>=<span style="color: #ff0000;">&quot;/opt/solr/webapps/solr.war&quot;</span> <span style="color: #000066;">debug</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">crossContext</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Environment</span></span>
<span style="color: #009900;">        <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;solr/home&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;java.lang.String&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/opt/solr/forum&quot;</span> <span style="color: #000066;">override</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Context<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Dans le répertoire &laquo;&nbsp;/opt/solr/ecm&nbsp;&raquo;, on place de fichier solr.xml suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;solr</span> <span style="color: #000066;">persistent</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">sharedLib</span>=<span style="color: #ff0000;">&quot;lib&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cores</span> <span style="color: #000066;">adminPath</span>=<span style="color: #ff0000;">&quot;/admin/cores&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;utilisateurs&quot;</span> <span style="color: #000066;">instanceDir</span>=<span style="color: #ff0000;">&quot;utilisateurs&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;documents&quot;</span> <span style="color: #000066;">instanceDir</span>=<span style="color: #ff0000;">&quot;documents&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/cores<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/solr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Dans le répertoire &laquo;&nbsp;/opt/solr/forum&nbsp;&raquo;, on place de fichier solr.xml suivant :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;solr</span> <span style="color: #000066;">persistent</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">sharedLib</span>=<span style="color: #ff0000;">&quot;lib&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cores</span> <span style="color: #000066;">adminPath</span>=<span style="color: #ff0000;">&quot;/admin/cores&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;utilisateurs&quot;</span> <span style="color: #000066;">instanceDir</span>=<span style="color: #ff0000;">&quot;utilisateurs&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;core</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;messages&quot;</span> <span style="color: #000066;">instanceDir</span>=<span style="color: #ff0000;">&quot;messages&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/cores<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/solr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Les urls d&#8217;accès à l&#8217;administration et aux web service Solr de l&#8217;application ECM sont :</p>
<table border="1">
<tbody>
<tr>
<td valign="top">Administration</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/ecm/utilisteurs/admin/ <br />
 http://&lt;server&gt;:&lt;port&gt;/ecm/documents/admin/</td>
</tr>
<tr>
<td valign="top">Indexation / suppression</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/ecm/utilisteurs/update <br />
 http://&lt;server&gt;:&lt;port&gt;/ecm/documents/update</td>
</tr>
<tr>
<td valign="top">Recherche</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/ecm/utilisteurs/select  <br />
 http://&lt;server&gt;:&lt;port&gt;/ecm/documents/select</td>
</tr>
</tbody>
</table>
<p>Les urls d&#8217;accès à l&#8217;administration et aux web service Solr de l&#8217;application Forum sont :</p>
<table border="1">
<tbody>
<tr>
<td valign="top">Administration</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/forum/utilisteurs/admin/ <br />
 http://&lt;server&gt;:&lt;port&gt;/forum/messages/admin/</td>
</tr>
<tr>
<td valign="top">Indexation / suppression</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/forum/utilisteurs/update <br />
 http://&lt;server&gt;:&lt;port&gt;/forum/messages/update</td>
</tr>
<tr>
<td valign="top">Recherche</td>
<td valign="top">=&gt;</td>
<td valign="top">http://&lt;server&gt;:&lt;port&gt;/forum/utilisteurs/select  <br />
 http://&lt;server&gt;:&lt;port&gt;/forum/messages/select</td>
</tr>
</tbody>
</table>
<p>Sous Linux, une optimisation peut être de factoriser le répertoire &laquo;&nbsp;bin&nbsp;&raquo; de chaque core car il contient exactement les mêmes scripts. On place un répertoire &laquo;&nbsp;bin&nbsp;&raquo; dans &laquo;&nbsp;/opt/solr&nbsp;&raquo; et dans chaque core, on créer un lien symbolique nommé &laquo;&nbsp;bin&nbsp;&raquo; et qui pointe sur &laquo;&nbsp;/opt/solr/bin&nbsp;&raquo;.</p>
<p>Pour synthétiser les différents cas de figure lors du choix d&#8217;une configuration de Solr, voici un tableau récapitulatif.</p>
<table border="1">
<tbody>
<tr valign="top">
<td valign="top">Une seule application avec un seul type de données à indexer</td>
<td>=&gt;</td>
<td valign="top">1 webapp, pas de SolrCore</td>
</tr>
<tr valign="top">
<td>Une seule application avec plusieurs types de données très similaires. Par exemple, des articles de presse, des dossiers, des rapport, des études, &#8230; qui ont tous des meta-données communes (titre, auteur, date de publication et contenu)</td>
<td>=&gt;</td>
<td>1 webapp, pas de SolrCore mais une donnée qualifiant le type permettant le filtrage de la liste de résultat sur une ou plusieurs de ces valeurs.</td>
</tr>
<tr valign="top">
<td>Une seule application avec plusieurs types de données sans similarité (documents, utilisateurs, &#8230;)</td>
<td>=&gt;</td>
<td>1 webapp et des SolsCore pour indexer les différents types de données dans des index disctincts</td>
</tr>
<tr valign="top">
<td>Plusieurs applications (ECM, Forum, messagerie).</td>
<td>=&gt;</td>
<td>1 webapp par application avec ou sans SolrCore multiple en fonction des données à indexer pour chacune des applications (voir les cas précédents)</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2009/10/17/solr-installation-et-configuration-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solr &#8211; Installation et configuration (1)</title>
		<link>http://www.wiizio.com/2009/10/02/introduction-a-solr-installation-et-configuration-1/</link>
		<comments>http://www.wiizio.com/2009/10/02/introduction-a-solr-installation-et-configuration-1/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 09:29:46 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.wiizio.com/?p=123</guid>
		<description><![CDATA[




<p>Suite au premier article Présentation de Lucene Solr, voici un article sur la mise en oeuvre de ce moteur de recherche. Les différents sujets abordés seront :</p>

L&#8217;installation 
La configuration
L&#8217;indexation
La recherche





<p>Cette première partie a pour but l&#8217;installation et la configuration minimum afin de pouvoir rechercher dans les documents d&#8217;exemple fournis dans la distribution de Solr.</p>
Pré-requis

Installer Java <p>Lire la suite <a href="http://www.wiizio.com/2009/10/02/introduction-a-solr-installation-et-configuration-1/">Solr &#8211; Installation et configuration (1)</a></p>]]></description>
			<content:encoded><![CDATA[<table style="border-style: solid; border-width: 0pt; background-color: #ffffff;" border="0">
<tbody>
<tr style="background-color: #ffffff;" valign="top">
<td style="border-style: solid; border-width: 0px; background-color: #ffffff;"><img class="alignleft size-full wp-image-134" title="logo_home_solr" src="http://www.wiizio.com/wp-content/uploads/2009/10/logo_home_solr.jpg" alt="logo_home_solr" width="105" height="47" /></td>
<td style="border-style: solid; border-width: 0px; background-color: #ffffff;">
<p>Suite au premier article <a href="http://www.wiizio.com/2009/10/01/introduction-a-solr/">Présentation de Lucene Solr</a>, voici un article sur la mise en oeuvre de ce moteur de recherche<a href="http://lucene.apache.org/solr/" target="_blank"></a>. Les différents sujets abordés seront :</p>
<ul>
<li>L&#8217;installation </li>
<li>La configuration</li>
<li>L&#8217;indexation</li>
<li>La recherche</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>Cette première partie a pour but l&#8217;installation et la configuration minimum afin de pouvoir rechercher dans les documents d&#8217;exemple fournis dans la distribution de <strong>Solr</strong>.<span id="more-123"></span></p>
<h3><strong>Pré-requis</strong></h3>
<ul>
<li>Installer Java 1.6 update 11 ou supérieur. Pour récupérer Java SE, c&#8217;est <a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">ici</a>. </li>
<li>Installer <a href="http://tomcat.apache.org/index.html" target="_blank">Tomcat</a>. Pour récupérer Tomcat 5.5, c&#8217;est <a href="http://tomcat.apache.org/download-55.cgi" target="_blank">ici</a>.</li>
<li>Récupérer une distribution de Solr. C&#8217;est <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr/" target="_blank">ici pour la version officielle</a> et <a href="http://people.apache.org/builds/lucene/solr/nightly/" target="_blank">ici et pour les derniers builds nocturnes</a>.</li>
</ul>
<h3><strong>Installation</strong></h3>
<p>Décompresser l&#8217;archive dans un répertoire de travail. Pour cet article, il s&#8217;agit de &laquo;&nbsp;d:\solr&nbsp;&raquo;. Un sous-répertoire est créé. Selon la version de Solr que vous aurez récupéré, ce répertoire peut s&#8217;appeller &laquo;&nbsp;apache-solr-nightly&nbsp;&raquo; ou &laquo;&nbsp;apache-solr-1.4.0&#8243;. Je suggère donc pour simplifier de renommer ce répertoire en &laquo;&nbsp;apache-solr&nbsp;&raquo;.</p>
<p><strong>Configurer Solr pour un fonctionnement avec Jetty</strong></p>
<p>Pour faire fonctionner avec la version de <strong>Jetty </strong>fournie avec <strong>Solr</strong>, il n&#8217;y a pas vraiment de configuration. Pour démarrer <strong>Jetty</strong>, il faut ouvrir une console et se placer dans le répertoire &laquo;&nbsp;d:\solr\apache-solr\example&nbsp;&raquo; et exécuter la commande suivante :</p>
<pre><code>java -jar start.jar</code></pre>
<p>Une fois que vous voyer apparaître la ligne suivante, le serveur est démarré :</p>
<pre>INFO: [] Registered new searcher Searcher@d642fd main</pre>
<p>On accède alors à l&#8217;administration de Solr avec l&#8217;url suivante :</p>
<pre>http://localhost:8983/solr/admin</pre>
<p>Pour une utilisation avec une instance existante de <strong>Jetty</strong>, la page du wiki qui explique la configuration est <a href="http://wiki.apache.org/solr/SolrJetty" target="_blank">ici</a>.</p>
<p><strong>Configurer Solr pour un fonctionnement sous Tomcat 5.5</strong></p>
<p>1. Afin de pouvoir passer en mode HTTP-GET des critères de recherche utilisant des caractères internationaux (code supérieur à 127) il est nécessaire d&#8217;éditer le fichier conf/server.xml de <strong>Tomcat </strong>et d&#8217;ajouter l&#8217;attribut suivant à l&#8217;élément Connector approprié : <code>URIEncoding="UTF-8"</code>.</p>
<p>Il s&#8217;agit à priori du connecteur correspondant au port 8080, ce qui donne quelque chose comme ceci :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Connector</span> <span style="color: #000066;">port</span>=<span style="color: #ff0000;">&quot;8080&quot;</span> <span style="color: #000066;">maxHttpHeaderSize</span>=<span style="color: #ff0000;">&quot;8192&quot;</span> <span style="color: #000066;">maxThreads</span>=<span style="color: #ff0000;">&quot;150&quot;</span></span>
<span style="color: #009900;"> <span style="color: #000066;">minSpareThreads</span>=<span style="color: #ff0000;">&quot;25&quot;</span> <span style="color: #000066;">maxSpareThreads</span>=<span style="color: #ff0000;">&quot;75&quot;</span> <span style="color: #000066;">enableLookups</span>=<span style="color: #ff0000;">&quot;false&quot;</span></span>
<span style="color: #009900;"> <span style="color: #000066;">redirectPort</span>=<span style="color: #ff0000;">&quot;8443&quot;</span> <span style="color: #000066;">acceptCount</span>=<span style="color: #ff0000;">&quot;100&quot;</span> <span style="color: #000066;">connectionTimeout</span>=<span style="color: #ff0000;">&quot;20000&quot;</span></span>
<span style="color: #009900;"> <span style="color: #000066;">disableUploadTimeout</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">URIEncoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>2. Copier le fichier &laquo;&nbsp;d:\solr\apache-solr\example\webapps\solr.war&nbsp;&raquo; dans le répertoire webapps de Tomcat.</p>
<p>3. Au moyen de la console <strong>Tomcat </strong>(dans le system tray), ajouter le paramètre</p>
<pre>-Dsolr.solr.home=d:\solr\apache-solr\example\solr</pre>
<p>4. Redémarrer Tomcat.</p>
<p>On accède alors à l&#8217;administration de <strong>Solr </strong>avec l&#8217;url suivante :</p>
<pre>http://localhost:8080/solr/admin</pre>
<h3>Indexer un jeu de données en exemple</h3>
<p>La distribution de <strong>Solr </strong>inclue un jeu de documents de test pour l&#8217;indexation. Il est possible de les indexer au moyen du package java post.jar.</p>
<p>Ouvrir une console et se placer dans le répertoire &laquo;&nbsp;d:\solr\apache-solr\example\exampledocs&nbsp;&raquo;</p>
<p>Avec Jetty, lancer la commande :</p>
<pre>java -jar post.jar *.xml</pre>
<p>Avec Tomcat, lancer la commande :</p>
<pre>java -Durl=http://localhost:8080/solr/update -jar post.jar *.xml</pre>
<p>Pour obtenir la liste de toutes les options de cet utilitaire, la commande est :</p>
<pre>java -jar post.jar -help </pre>
<h3>Exécuter des recherches</h3>
<p><strong>Solr </strong>est maintenant fonctionnel et des données sont indexées. Il est donc possible d&#8217;exécuter les premières recherches avec le formulaire suivant :</p>
<pre>http://localhost:8080/solr/admin/form.jsp</pre>
<p>Vous pouvez constater que les résultats sont fournis au format XML. C&#8217;est effectivement à l&#8217;application appelant <strong>Solr </strong>de mettre en forme ces résultats.</p>
<h3>Conclusion</h3>
<p>Dans cet article, nous avons installé et fait fonctionné <strong>Solr </strong>dans un environnement <strong>Tomcat</strong> sous Windows. Par la suite j&#8217;aborderai plus en détail la configuration, les options de recherche et l&#8217;exploitation des résultats.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wiizio.com/2009/10/02/introduction-a-solr-installation-et-configuration-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

