<?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>Eolya Consulting &#187; Moteur de recherche</title>
	<atom:link href="http://www.eolya.fr/category/moteur-de-recherche/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.eolya.fr</link>
	<description>Moteurs de recherche d&#039;entreprise et verticaux</description>
	<lastBuildDate>Thu, 24 Nov 2011 10:52:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>MySolrServer propose l&#8217;hébergement d&#8217;instances Solr</title>
		<link>http://www.eolya.fr/2011/06/05/mysolrserver-propose-lhebergement-dinstances-solr/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysolrserver-propose-lhebergement-dinstances-solr</link>
		<comments>http://www.eolya.fr/2011/06/05/mysolrserver-propose-lhebergement-dinstances-solr/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 14:32:25 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Hébergement]]></category>
		<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>
		<category><![CDATA[Sites à découvrir]]></category>
		<category><![CDATA[hosted]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=921</guid>
		<description><![CDATA[MySorlServer est un nouveau service web qui propose l&#8217;hébergement d&#8217;instances Solr sous la forme d&#8217;abonnements. Solr en mode SaaS répond entre autres à la difficulté pour un propriétaire de blog ou CMS de pouvoir utiliser les plugins ou extensions existantes pour Solr. En effet, disposer d&#8217;un hébergement Tomcat ou Jetty pour accueillir un serveur Solr [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2011/06/mysolrserver.png"><img class="alignleft size-full wp-image-933" title="mysolrserver" src="http://www.zoonix.fr/uploads/2011/06/mysolrserver.png" alt="" width="302" height="63" /></a><a href="http://www.mysolrserver.com">MySorlServer</a> est un nouveau service web qui propose l&#8217;hébergement d&#8217;instances <strong>Solr</strong> sous la forme d&#8217;abonnements. <strong>Solr en mode SaaS</strong> répond entre autres à la difficulté pour un propriétaire de blog ou CMS de pouvoir utiliser les plugins ou extensions existantes pour <strong>Solr</strong>. En effet, disposer d&#8217;un hébergement <strong>Tomcat</strong> ou <strong>Jetty</strong> pour accueillir un serveur Solr est souvent compliqué voir impossible sans recourir à la location d&#8217;un hébergement mutualisé complémentaire ou d&#8217;un serveur dédié.</p>
<p><strong>MySolrServer</strong> gère la mise en place et le paramétrage des instances <strong>Solr</strong> de façon transparente et ne nécessite donc pas de compétences <strong>Solr</strong> particulières. En quelques cliques de souris, une instance pré-paramétrée pour les plugins ou extensions <strong>Solr</strong> de <strong>WordPress</strong>, <strong>Joomla</strong>, <strong>eZ Publish</strong> ou <strong>Drupal</strong> est déployée et prête à l&#8217;emploi.</p>
<p><span id="more-921"></span></p>
<p>Pour l&#8217;utilisation avec d&#8217;autres <strong>CMS</strong> ou pour des besoins très spécifiques, il est possible de créée une instance de type <strong>API</strong> (ou plutôt RESTful).</p>
<p>L&#8217;utilisateur garde le contrôle total des fichiers de paramétrages <strong>Solr</strong> (synonymes, mots vides, &#8230;) au moyen d&#8217;une interface Web d&#8217;administration (le manager).</p>
<p>Cerise sur le gâteau, <strong>MySolrServer</strong> propose des instances de type <strong>Crawler</strong> afin d&#8217;indexer des sites web et disposer d&#8217;une interface de recherche complète. <strong>MySolrServer</strong> utilise le crawler <a href="http://www.crawl-anywhere.com/">Crawl Anywhere</a>.</p>
<p>Si vous souhaitez en savoir plus sur  <strong>MySolrServer</strong>, vous pouvez consulter <a href="http://www.mysolrserver.com/features/" target="_self">la liste des fonctionnalites</a>.</p>
<p>Si vous souhaitez voir des copies d&#8217;écran de l&#8217;interface web d&#8217;administration, vous pouvez consulter <a href="http://www.mysolrserver.com/documentation/">la documentation</a>.</p>
<p><strong>MySolrServer</strong> est actuellement en mode bêta avec quelques <a href="http://www.mysolrserver.com/testing-and-beta-periods-agenda-and-specific-use-conditions/">conditions d&#8217;utilisation temporaires durant cette période</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/2011/06/05/mysolrserver-propose-lhebergement-dinstances-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crawl Anywhere version 1.1.0 est disponible</title>
		<link>http://www.eolya.fr/2011/01/03/crawl-anywhere-version-1-1-0-est-disponible/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=crawl-anywhere-version-1-1-0-est-disponible</link>
		<comments>http://www.eolya.fr/2011/01/03/crawl-anywhere-version-1-1-0-est-disponible/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 10:04:58 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>
		<category><![CDATA[Crawler]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=743</guid>
		<description><![CDATA[Crawl Anywhere est un crawler web, un pipeline de traitement des documents et un indexer Solr. Il offre une interface Web d&#39;administration qui permet de facilement g&#233;rer les diff&#233;rentes sources (sites web) &#224; crawler et indexer. Apr&#232;s plusieurs mises en production chez des clients et les diff&#233;rents retours d&#39;exp&#233;riences, un certain nombre de nouvelles fonctionnalit&#233;s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/10/logo_small.jpg"><img alt="" class="alignleft size-full wp-image-689" height="54" src="http://www.zoonix.fr/uploads/2010/10/logo_small.jpg" title="logo_small" width="65" /></a><a href="http://www.crawl-anywhere.com/" target="_blank">Crawl Anywhere</a> est un crawler web, un pipeline de traitement des documents et un indexer Solr. Il offre une interface Web d&#39;administration qui permet de facilement g&eacute;rer les diff&eacute;rentes sources (sites web) &agrave; crawler et indexer.</p>
<p>Apr&egrave;s plusieurs mises en production chez des clients et les diff&eacute;rents retours d&#39;exp&eacute;riences, un certain nombre de nouvelles fonctionnalit&eacute;s ont &eacute;t&eacute; ajout&eacute;es &agrave; Crawl Anywhere. Une liste des principales nouvelles fonctionnalit&eacute;s est disponible sur le wiki dans la <a href="http://www.wiizio.com/confluence/display/CRAWLUSERS/Release+notes+v1.1.0">release note</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/2011/01/03/crawl-anywhere-version-1-1-0-est-disponible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solr et PHP</title>
		<link>http://www.eolya.fr/2010/11/06/solr-et-php/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=solr-et-php</link>
		<comments>http://www.eolya.fr/2010/11/06/solr-et-php/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 09:19:32 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=730</guid>
		<description><![CDATA[Voici une pr&#233;sentation slideshare de Solr ainsi que des exemples de code PHP avec l&#39;extension Apache Solr PECL. Un bon rappel des concepts de base. [slideshare id=5658889&#38;doc=zendconsolrphp-101103144414-phpapp02]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/03/solr.jpg"><img alt="solr" class="alignleft size-full wp-image-477" height="75" src="http://www.zoonix.fr/uploads/2010/03/solr.jpg" title="solr" width="105" /></a>Voici une pr&eacute;sentation <strong>slideshare</strong> de <a href="http://lucene.apache.org/solr/" target="_blank"><strong>Solr</strong></a> ainsi que des exemples de code PHP avec l&#39;extension Apache Solr PECL.</p>
<p>Un bon rappel des concepts de base.</p>
<p>[slideshare id=5658889&amp;doc=zendconsolrphp-101103144414-phpapp02]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/2010/11/06/solr-et-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comparaison de moteurs de recherche open source</title>
		<link>http://www.eolya.fr/2010/11/04/comparaison-de-moteurs-de-recherche-open-source/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comparaison-de-moteurs-de-recherche-open-source</link>
		<comments>http://www.eolya.fr/2010/11/04/comparaison-de-moteurs-de-recherche-open-source/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 18:14:18 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=724</guid>
		<description><![CDATA[Je signale l&#8217;int&#233;ressante &#233;tude A Comparison of Open Source Search Engines (PDF) de Christian Middleton et Ricardo Baeza-Yates parue en 2008. Les moteurs analys&#233;s sont : ht://Dig, Indri, IXE, Lucene, MG4J, IBM OmniFind Yahoo! Edition, Omega, SWISH-E, SWISH++, Terrier, XMLSearch et Zettair. Les moteurs qui sortent du lot sont pour un environnement Java: MG4J, Terrier [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/10/logo_small.jpg"><img alt="" class="alignleft size-full wp-image-689" height="54" src="http://www.zoonix.fr/uploads/2010/10/logo_small.jpg" title="logo_small" width="65" /></a>Je signale l&rsquo;int&eacute;ressante &eacute;tude <a href="http://wrg.upf.edu/WRG/dctos/Middleton-Baeza.pdf" target="_blank">A Comparison of Open Source Search Engines</a> (PDF) de Christian Middleton et Ricardo Baeza-Yates parue en 2008. Les moteurs analys&eacute;s sont : ht://Dig, Indri, IXE, Lucene, MG4J, IBM OmniFind Yahoo! Edition, Omega, SWISH-E, SWISH++, Terrier, XMLSearch et Zettair. Les moteurs qui sortent du lot sont pour un environnement Java: MG4J, Terrier ou Lucene, et pour un environnement C/C++: Swish-E, Swish++, ht://Dig, XMLSearch ou Zettair.</p>
<p>Lucene se distingue dans tous les domaines sauf celui d&#39;indexer une collection de document de 10 Go. Au vu des progr&egrave;s r&eacute;alis&eacute;s par Lucene ces derni&egrave;res ann&eacute;es, je pense que la version actuelle n&#39;aurait aucun probl&egrave;me. <br />
	&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/2010/11/04/comparaison-de-moteurs-de-recherche-open-source/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Obtenir une compilation nocturne de Solr 3.1 ou Solr 4.0</title>
		<link>http://www.eolya.fr/2010/11/03/obtenir-une-compilation-nocturne-de-lucene-4-0-et-solr-4-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=obtenir-une-compilation-nocturne-de-lucene-4-0-et-solr-4-0</link>
		<comments>http://www.eolya.fr/2010/11/03/obtenir-une-compilation-nocturne-de-lucene-4-0-et-solr-4-0/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 18:11:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>
		<category><![CDATA[Technique]]></category>
		<category><![CDATA[nightly build]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=710</guid>
		<description><![CDATA[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 (java 1.6 requis). En effet, les liens de téléchargement des compilations nocturnes ne [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/03/solr.jpg"><img class="alignleft size-full wp-image-477" title="solr" src="http://www.zoonix.fr/uploads/2010/03/solr.jpg" alt="solr" width="105" height="75" /></a>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 (java 1.6 requis). 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>.</p>
<p>Il existe actuellement 2 versions en cours de développement : Solr 3.1 et Solr 4.0. Ma compréhension est que :</p>
<ul>
<li>Solr 3.1 est une version plutôt stable qui devrait la prochaine version de Solr et embarquent Lucene 3.1. Sortie possible : mars ou avril 2011.</li>
<li>Solr 4.0 est la version de développement (trunk) moins stable et dont le disponibilité dervait être pour 2012.</li>
</ul>
<p>Pour une explication sur ces 2 versions des sources de Solr, lire ce message de <strong>Uwe Schindler</strong> : <a href="http://lucene.472066.n3.nabble.com/Lucene-3-x-branch-created-td777485.html" target="_blank">Lucene 3.x branch created</a> et cette discussion : <a href="http://lucene.472066.n3.nabble.com/Solr-3-1-td1522319.html" target="_blank">Solr 3.1</a><span id="more-710"></span></p>
<h3>Solr 3.1</h3>
<p>Créer un répertoire de travail :</p>
<pre>mkdir ~/solr-3.1</pre>
<p>Se placer dans ce répertoire et récupérer les sources :</p>
<pre>cd ~/solr-3.1
svn co http://svn.apache.org/repos/asf/lucene/dev/branches/branch_3x</pre>
<p>Compiler les sources :</p>
<pre>cd ~/solr-3.1/branch_3x/lucene
ant dist
cd ~/solr-3.1/branch_3x/solr
ant dist</pre>
<p>La javadoc est disponible ici : <a href="https://hudson.apache.org/hudson/job/Lucene-3.x/javadoc/all/index.html" target="_blank">https://hudson.apache.org/hudson/job/Lucene-3.x/javadoc/all/index.html</a></p>
<h3>Solr 4.0</h3>
<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 co http://svn.apache.org/repos/asf/lucene/dev/trunk</pre>
<p>Compiler les sources :</p>
<pre>cd ~/solr-4.0/trunk/modules
ant compile
cd ~/solr-4.0/trunk/lucene
ant dist
cd ~/solr-4.0/trunk/solr
ant dist</pre>
<p>La javadoc est disponible ici : <a href="https://hudson.apache.org/hudson/job/Lucene-3.x/javadoc/all/index.html" target="_blank">https://hudson.apache.org/hudson/job/Lucene-trunk/javadoc/all/index.html</a></p>
<h3>Note du 2/11/2011 :</h3>
<p>Le meilleur endroit pour récupérer les builds nocturnes ainsi que les liens vers les javadoc est : <a href="http://wiki.apache.org/solr/NightlyBuilds">http://wiki.apache.org/solr/NightlyBuilds</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/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>Crawl Anywhere a son propre site</title>
		<link>http://www.eolya.fr/2010/10/31/crawl-anywhere-a-son-propre-site/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=crawl-anywhere-a-son-propre-site</link>
		<comments>http://www.eolya.fr/2010/10/31/crawl-anywhere-a-son-propre-site/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 14:45:25 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>
		<category><![CDATA[Sites à découvrir]]></category>
		<category><![CDATA[Crawler]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=687</guid>
		<description><![CDATA[Dans un article pr&#233;c&#233;dent, j&#39;ai parl&#233; de Crawl Anywhere un crawler Web que j&#39;ai &#233;cris dans le cadre du projet Hurisearch (www.hurisearch.org). Crawl Anywhere ayant suscit&#233; l&#39;int&#233;r&#234;t, j&#39;ai d&#233;cid&#233; de cr&#233;er son propre site tout en anglais pour en faire la promotion : http://www.crawl-anywhere.com/. Si un crawler web avec une vrai interface d&#39;administration vous int&#233;resse, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/10/logo_small.jpg"><img alt="" class="alignleft size-full wp-image-689" height="54" src="http://www.zoonix.fr/uploads/2010/10/logo_small.jpg" title="logo_small" width="65" /></a>Dans un article pr&eacute;c&eacute;dent, j&#39;ai parl&eacute; de Crawl Anywhere un crawler Web que j&#39;ai &eacute;cris dans le cadre du projet Hurisearch (www.hurisearch.org). Crawl Anywhere ayant suscit&eacute; l&#39;int&eacute;r&ecirc;t, j&#39;ai d&eacute;cid&eacute; de cr&eacute;er son propre site tout en anglais pour en faire la promotion : <a href="http://www.crawl-anywhere.com">http://www.crawl-anywhere.com/</a>.</p>
<p>Si un crawler web avec une vrai interface d&#39;administration vous int&eacute;resse, je vous invite &agrave; lire ou relire l&#39;article que j&#39;ai &eacute;cris il y a quelques mois : &quot;<a href="http://www.zoonix.fr/2010/03/07/un-crawler-web-pour-solr/">Crawl Anywhere : un crawler Web pour Solr</a>&quot; et &agrave; aller sur <a href="http://http://www.crawl-anywhere.com/">www.crawl-anywhere.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/2010/10/31/crawl-anywhere-a-son-propre-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Indexation multi-lingues avec Lucene et Solr</title>
		<link>http://www.eolya.fr/2010/03/09/indexation-multi-lingues-avec-lucene-et-solr/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=indexation-multi-lingues-avec-lucene-et-solr</link>
		<comments>http://www.eolya.fr/2010/03/09/indexation-multi-lingues-avec-lucene-et-solr/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:54:35 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=468</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/03/solr.jpg"><img class="alignleft size-full wp-image-477" title="solr" src="http://www.zoonix.fr/uploads/2010/03/solr.jpg" alt="solr" width="105" height="75" /></a>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-468"></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.eolya.fr/2010/03/09/indexation-multi-lingues-avec-lucene-et-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crawl Anywhere : un crawler Web pour Solr</title>
		<link>http://www.eolya.fr/2010/03/07/un-crawler-web-pour-solr/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=un-crawler-web-pour-solr</link>
		<comments>http://www.eolya.fr/2010/03/07/un-crawler-web-pour-solr/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 21:52:23 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>
		<category><![CDATA[Crawler]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=466</guid>
		<description><![CDATA[Dans le cadre du remplacement de Fast ESP par Solr pour le moteur Hurisearch, un crawler Web &#233;tait n&#233;cessaire. Le but d&#39;un crawler web est &#224; partir d&#39;une adresse Web de d&#233;couvrir et r&#233;cup&#233;rer toutes les pages d&#39;un site. Un tour d&#39;horizon de ce qui existe en la mati&#232;re &#224; fait ressortir une liste r&#233;duite [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/03/solr.jpg"><img alt="solr" class="alignleft size-full wp-image-477" height="75" src="http://www.zoonix.fr/uploads/2010/03/solr.jpg" title="solr" width="105" /></a>Dans le cadre du remplacement de <a href="http://www.microsoft.com/enterprisesearch/en/us/Fast.aspx" target="_blank"><strong>Fast ESP</strong></a> par <a href="http://www.zoonix.fr/2008/09/18/presentation-de-lucene-solr/" target="_blank"><strong>Solr</strong></a> pour le moteur <a href="http://www.hurisearch.org/" target="_blank">Hurisearch</a>, un crawler Web &eacute;tait n&eacute;cessaire. Le but d&#39;un crawler web est &agrave; partir d&#39;une adresse Web de d&eacute;couvrir et r&eacute;cup&eacute;rer toutes les pages d&#39;un site. Un tour d&#39;horizon de ce qui existe en la mati&egrave;re &agrave; fait ressortir une liste r&eacute;duite de candidats : Nutch, Apache Droids et Heritrix.</p>
<ul>
<li>Nutch (bien que faisant partie de la famille Lucene) ne semble de pas &ecirc;tre un projet tr&egrave;s actif et son int&eacute;gration &agrave; Solr est peu ais&eacute;e malgr&eacute; quelques efforts r&eacute;cents.</li>
<li>Apache Droids semblait prometteur, mais lui non plus n&#39;est plus actif depuis plus d&#39;un an.</li>
<li>Heritrix est de loin de plus pouss&eacute; de ces 3 crawlers et est un projet actif.</li>
</ul>
<p>Heritrix semblait &ecirc;tre le bon choix, mais entre autres lacunes, il ne poss&egrave;de pas d&#39;interface Web d&#39;administration et de monitoring &quot;user friendly&quot;. Ce point &eacute;tant crucial dans le cadre du projet Hurisearch, nous avons d&eacute;cid&eacute; de d&eacute;velopper notre propre crawler Web que nous avons baptis&eacute; : &quot;<a href="http://www.crawl-anywhere.com"><strong>Crawl&nbsp;Anywhere</strong></a>&quot;. Ce nom peut paraitre pr&eacute;tentieux, mais pouvoir crawler tous types de sources est un r&eacute;el objectif. De plus, trouver un nom disponible et encore plus un nom de domaine n&#39;est pas chose ais&eacute;. <span id="more-466"></span></p>
<p>Voici donc un r&eacute;sum&eacute; de ce que permet <a href="http://www.crawl-anywhere.com"><strong>Crawl Anywhere</strong></a> :</p>
<ul>
<li>crawler tous types de sources : web, bases de donn&eacute;es, syst&egrave;mes de fichiers, CMS, &#8230;<br />
		Chaque type de source est g&eacute;r&eacute; par un connecteur (source connector)</li>
<li>permet n&#39;importe quelles actions avec les &eacute;l&eacute;ments crawl&eacute;s : page web, document ou dossier d&#39;un CMS, enregistrement d&#39;une base de donn&eacute;es, &#8230;<br />
		Les &eacute;l&eacute;ments crawl&eacute;s sont envoy&eacute;s &agrave; un gestionnaire de documents (document handler). Pour une indexation par Solr, nous utilisons le &quot;Solr document handler&quot;</li>
<li>peut crawler plusieurs sources et &eacute;l&eacute;ments par source en m&ecirc;me temps</li>
<li>est hautement configurable :<br />
		- nombre de sources crawl&eacute;es simultan&eacute;ment<br />
		- nombre d&#39;&eacute;l&eacute;ments par source crawl&eacute;s simultan&eacute;ment<br />
		- fr&eacute;quence de recrawle en fonction du type d&#39;&eacute;l&eacute;ment<br />
		- r&egrave;gles d&#39;inclusion et d&#39;exclusion en fonction du type d&#39;&eacute;l&eacute;ment<br />
		- r&egrave;gles d&#39;inclusion et d&#39;exclusion en fonction du chemin<br />
		- profondeur<br />
		- &#8230;</li>
<li>est capable d&#39;extraire le texte des &eacute;l&eacute;ments crawl&eacute;s pour une grande vari&eacute;t&eacute; de types mime. Pour cela, la librairie Tika (<a class="moz-txt-link-freetext" href="http://lucene.apache.org/tika/">http://lucene.apache.org/tika/</a>) et d&#39;autres outils sont utilis&eacute;s.</li>
<li>supporte le format Flash</li>
<li>fournit une interface Web d&#39;administration et de monitoring (voir les copies d&#39;&eacute;cran)</li>
<li>est ouvert (au moyen des connecteurs et des gestionnaires de documents)</li>
</ul>
<p><a href="http://www.crawl-anywhere.com">Crawl Anywhere</a> est &eacute;crit en Java et est donc compatible Windows et Linux.</p>
<p>Une base de donn&eacute;es MySQL est utilis&eacute;e afin de m&eacute;moriser la r&eacute;f&eacute;rence de chaque &eacute;l&eacute;ment crawl&eacute; (statut, date de dernier crawl, date de prochain crawl, type mime, &#8230;).</p>
<p>L&#39;interface d&#39;administration et de monitoring permet de suivre le travail du crawler ainsi que la gestion des diff&eacute;rentes sources. Voici quelques copies d&#39;&eacute;cran de cette interface.</p>
<p>Monitoring du crawler :</p>
<p><a href="http://www.zoonix.fr/uploads/2010/03/crawler-status.png"><img alt="crawler-status" class="aligncenter size-medium wp-image-507" height="267" src="http://www.zoonix.fr/uploads/2010/03/crawler-status-300x267.png" title="crawler-status" width="300" /></a></p>
<p>Liste des sources :</p>
<p><a href="http://www.zoonix.fr/uploads/2010/03/crawler-sources-list.png"><img alt="crawler-sources-list" class="aligncenter size-medium wp-image-508" height="267" src="http://www.zoonix.fr/uploads/2010/03/crawler-sources-list-300x267.png" title="crawler-sources-list" width="300" /></a></p>
<p>D&eacute;tails d&#39;une source :</p>
<p><a href="http://www.zoonix.fr/uploads/2010/03/crawler-source-details.png"><img alt="crawler-source-details" class="aligncenter size-medium wp-image-509" height="274" src="http://www.zoonix.fr/uploads/2010/03/crawler-source-details-300x274.png" title="crawler-source-details" width="300" /></a></p>
<p>Pour <strong>Hurisearch</strong>, <a href="http://www.crawl-anywhere.com"><strong>Crawl Anywhere</strong></a> crawle 5400 sites Web sites qui repr&eacute;sentent plus de 10 millions de pages index&eacute;es pas Solr. L&#39;ensemble des sources peut &ecirc;tre crawl&eacute; et index&eacute; en 3 jours avec un serveur Linux Debian non d&eacute;di&eacute; (Intel Core2Duo 2x 2.66+ GH &eacute;quip&eacute; de 4 Go de Ram).</p>
<p>Si vous &ecirc;tes int&eacute;ress&eacute; par un crawler tel que<strong> <a href="http://www.crawl-anywhere.com">Crawl Anywhere</a></strong> n&#39;h&eacute;sitez pas &agrave; nous contacter au moyen de <a href="http://www.eolya.fr/index.php/nous-contacter" target="_blank">ce formulaire</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/2010/03/07/un-crawler-web-pour-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrader Lucene dans Solr 1.4</title>
		<link>http://www.eolya.fr/2010/03/07/upgrader-lucene-dans-solr-14/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=upgrader-lucene-dans-solr-14</link>
		<comments>http://www.eolya.fr/2010/03/07/upgrader-lucene-dans-solr-14/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 13:38:01 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=469</guid>
		<description><![CDATA[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.2. 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 : * [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2010/03/solr.jpg"><img class="alignleft size-full wp-image-477" title="solr" src="http://www.zoonix.fr/uploads/2010/03/solr.jpg" alt="solr" width="105" height="75" /></a>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.2. Afin de bénéficier de ces mises à jours dans Solr, il est possible de patcher le fichier solr.war. <span id="more-469"></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</pre>
<pre style="padding-left: 30px;">jar -xvf solr.war </pre>
<pre style="padding-left: 30px;">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.x.</p>
<p>* sous mac os, 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;.<br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.eolya.fr/2010/03/07/upgrader-lucene-dans-solr-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction à Solr &#8211; Installation et configuration (2)</title>
		<link>http://www.eolya.fr/2009/05/10/introduction-a-solr-installation-et-configuration-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=introduction-a-solr-installation-et-configuration-2</link>
		<comments>http://www.eolya.fr/2009/05/10/introduction-a-solr-installation-et-configuration-2/#comments</comments>
		<pubDate>Sun, 10 May 2009 22:57:47 +0000</pubDate>
		<dc:creator>dominique</dc:creator>
				<category><![CDATA[Lucene / Solr]]></category>
		<category><![CDATA[Moteur de recherche]]></category>
		<category><![CDATA[Productivité]]></category>
		<category><![CDATA[Technique]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.zoonix.fr/?p=271</guid>
		<description><![CDATA[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 (Introduction à Solr &#8211; Installation et configuration (1)). Dans ce nouvel article, je [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zoonix.fr/uploads/2008/09/solr.png"><img class="alignleft size-medium wp-image-83" title="solr" src="http://www.zoonix.fr/uploads/2008/09/solr.png" alt="" width="86" height="44" /></a>Dans les précédents articles consacrés à <strong>Solr</strong>, j&#8217;en décris les principes (<a href="http://www.zoonix.fr/2008/09/18/presentation-de-lucene-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.zoonix.fr/2008/12/08/introduction-a-solr-installation-et-configuration-1/">Introduction à 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>
<p><span id="more-271"></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; sous Linux ou &laquo;&nbsp;c:/solr&nbsp;&raquo; sous 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>
<p>&lt;fieldType name=”string” class=”solr.StrField” sortMissingLast=”true” omitNorms=”true”/&gt;</p>
<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>
<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.</p>
<p>&lt;field name=”word” type=”string” indexed=”true” stored=”true”/&gt;</p>
<p>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).</p>
<p>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>
<p>&lt;dynamicField name=”*_s”  type=”string”  indexed=”true”  stored=”true”/&gt;</p>
<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 ?<br />
</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 ?</p>
<p>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.</p>
<p>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>
<h4>Exemple d&#8217;un environnement mono-core</h4>
<p>solr.solr.home=/opt/solr</p>
<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>
<pre>&lt;Context docBase="/opt/solr/webapps/solr.war" debug="0" crossContext="true" &gt;
    &lt;Environment
        name="solr/home"
        type="java.lang.String"
        value="/opt/solr/" override="true" /&gt;
&lt;/Context&gt;
</pre>
<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>
<h4>Exemple d&#8217;un environnement multi-core</h4>
<p>solr.solr.home=/opt/solr</p>
<p>Les répertoires d&#8217;installation sont organisés comme ceci :</p>
<pre>/opt
    /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>
<pre>&lt;Context docBase="/opt/solr/webapps/solr.war" debug="0" crossContext="true" &gt;
    &lt;Environment
        name="solr/home"
        type="java.lang.String"
        value="/opt/solr/" override="true" /&gt;
&lt;/Context&gt;</pre>
<p>Dans le répertoire pointé par solr.solr.home, on place de féchier solr.xml suivant :</p>
<pre>&lt;solr persistent="true" sharedLib="lib"&gt;
    &lt;cores adminPath="/admin/cores"&gt;
        &lt;core name="core0" instanceDir="core0" /&gt;
        &lt;core name="core1" instanceDir="core1" /&gt;
    &lt;/cores&gt;
&lt;/solr&gt;
</pre>
<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/ </p>
<p>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 </p>
<p>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  </p>
<p>http://&lt;server&gt;:&lt;port&gt;/solr/core1/select</td>
</tr>
</tbody>
</table>
<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>
<p>solr.solr.home=/opt/solr</p>
<p>Les répertoires d&#8217;installation sont organisés comme ceci :</p>
<pre>/opt
    /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>
<pre>&lt;Context docBase="/opt/solr/webapps/solr.war" debug="0" crossContext="true" &gt;
    &lt;Environment
        name="solr/home"
        type="java.lang.String"
        value="/opt/solr/ecm" override="true" /&gt;
&lt;/Context&gt;</pre>
<p>et le fichier forum.xml suivant :</p>
<pre>&lt;Context docBase="/opt/solr/webapps/solr.war" debug="0" crossContext="true" &gt;
    &lt;Environment
        name="solr/home"
        type="java.lang.String"
        value="/opt/solr/forum" override="true" /&gt;
&lt;/Context&gt;</pre>
<p>Dans le répertoire &laquo;&nbsp;/opt/solr/ecm&nbsp;&raquo;, on place de féchier solr.xml suivant :</p>
<pre>&lt;solr persistent="true" sharedLib="lib"&gt;
    &lt;cores adminPath="/admin/cores"&gt;
        &lt;core name="utilisateurs" instanceDir="utilisateurs" /&gt;
        &lt;core name="documents" instanceDir="documents" /&gt;
    &lt;/cores&gt;
&lt;/solr&gt;
</pre>
<p>Dans le répertoire &laquo;&nbsp;/opt/solr/forum&nbsp;&raquo;, on place de féchier solr.xml suivant :</p>
<pre>&lt;solr persistent="true" sharedLib="lib"&gt;
    &lt;cores adminPath="/admin/cores"&gt;
        &lt;core name="utilisateurs" instanceDir="utilisateurs" /&gt;
        &lt;core name="messages" instanceDir="messages" /&gt;
    &lt;/cores&gt;
&lt;/solr&gt;
</pre>
<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/ </p>
<p>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 </p>
<p>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  </p>
<p>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/ </p>
<p>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 </p>
<p>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  </p>
<p>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.eolya.fr/2009/05/10/introduction-a-solr-installation-et-configuration-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

