<?xml version="1.0"?>
<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.1b1//EN" "../../../dtd/website.dtd" [
  <!ENTITY multilinguisme SYSTEM "../introduction/multilinguisme.xml" NDATA XML>
]>
<webpage lang="fr" id="recherche_modele"> 

  <head>
	 <title lang="fr">Le modèle de recherche de SDX</title>
	 <titleabbrev lang="fr">Modèle</titleabbrev>
	 <author lang="fr"><firstname>Malo</firstname><surname>Pichot</surname><affiliation><orgname>AJLSM</orgname></affiliation></author><revhistory>
		<revision lang="fr">
		  <revnumber>1.0</revnumber><date>2003-06-04</date> 
		</revision>
	 </revhistory>
  </head>

  <section id="modele_def"> 
	 <title>La notion de champs</title>
	 <para>La notion de champs est au centre du modèle de recherche de SDX. Ainsi, on peut définir ce modèle par les critères suivants : </para>
	 <itemizedlist>
		<listitem>
		  <para>Une unité documentaire est représentée par une collection de champs ; </para>
		</listitem><listitem>
		  <para>L'ordre des champs n'a pas de sens ; </para>
		</listitem><listitem>
		  <para>Les recherches s'effectuent toujours dans un ou des champs ; </para>
		</listitem><listitem>
		  <para>Il y a une différence fondamentale entre 
			 <ulink url="#recherche_mot_champ">la recherche par mots et la recherche par champ</ulink> ; </para>
		</listitem><listitem>
		  <para>Le modèle de recherche y est habituellement le booléen : </para>
		  <itemizedlist>
			 <listitem>
				<para>Champ et valeur ; </para>
			 </listitem><listitem>
				<para>Opérateurs <literal>et</literal>, <literal>ou</literal>, <literal>sauf</literal> ; </para>
			 </listitem><listitem>
				<para>Emploi du parenthèsage.</para>
			 </listitem>
		  </itemizedlist>
		</listitem><listitem>
		  <para>La troncature y est presque toujours (<literal>*</literal>, <literal>?</literal>) à gauche, au centre, à droite ; </para>
		</listitem><listitem>
		  <para>Le tri de pertinence est habituel, voire nécessaire ; </para>
		</listitem><listitem>
		  <para>D'autres modèles (ou méthodes) de recherche y sont associés : </para>
		  <itemizedlist>
			 <listitem>
				<para><ulink url="http://www-2.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part1/faq-doc-2.html">Fuzzy</ulink> (logique flou) ; </para>
			 </listitem><listitem>
				<para><ulink url="http://www.chez.com/algor/soundex/soundex.htm">Soundex</ulink> (approximation) ; </para>
			 </listitem><listitem>
				<para>Query expansion ; </para>
			 </listitem><listitem>
				<para>Intervalle (sur les dates le plus souvent).</para>
			 </listitem>
		  </itemizedlist>
		</listitem>
	 </itemizedlist>
  </section> 
  <section id="types_champs"> 
	 <title>Les types de champs</title>
	 <para>Il existe plusieurs méthodes d'indexation de l'information. Cela signifie qu'il existe plusieurs types de champs : </para>
	 <itemizedlist>
		<listitem>
		  <para>Champ <literal>field</literal> ; </para>
		</listitem><listitem>
		  <para>Champ <literal>word</literal> ; </para>
		</listitem><listitem>
		  <para>Champ <literal>date</literal>.</para>
		</listitem>
	 </itemizedlist>
	 <section id="champ_field"> 
		<title>Champ de type <sgmltag class="attvalue">field</sgmltag></title>
		<para>Un champ <literal>field</literal> considèrera l'ensemble des caractères d'un élément comme une valeur. C'est-à-dire que pour l'élément <sgmltag class="element">titre</sgmltag> suivant : </para>
		<programlisting>
&lt;titre&gt;
La construction navale au 19e siècle dans le nord de la France
&lt;/titre&gt;
</programlisting> 
		<para>On peut construire un champ d'indexation correspondant : </para>
		<programlisting>
&lt;sdx:field type="field" name="titref"&gt;
La construction navale au 19e siècle dans le nord de la France
&lt;/sdx:field&gt;
</programlisting> 
		<para>Il y a un seul champ <literal>titref</literal> pour contenir le titre du document. Il ne s'est opéré aucune transformation sur le titre contrairement à ce qui se serait passé avec un 
		  <ulink url="#champ_word">champ de type <literal>word</literal></ulink>.</para>
	 </section> 
	 <section id="champ_word"> 
		<title>Champ de type <sgmltag class="attvalue">word</sgmltag></title>
		<para>Un champ de type <literal>word</literal> considérera chaque mot d'un élément comme une valeur à indexer. Pour reprendre l'élément <sgmltag class="element">titre</sgmltag> précédent, on peut construire un champ word correspondant : </para>
		<programlisting>
&lt;sdx:field type="word" name="titrew"&gt;
construction
&lt;/sdx:field&gt;

&lt;sdx:field type="word" name="titrew"&gt;
navale
&lt;/sdx:field&gt;

&lt;sdx:field type="word" name="titrew"&gt;
19e
&lt;/sdx:field&gt;

&lt;sdx:field type="word" name="titrew"&gt;
siècle
&lt;/sdx:field&gt;

&lt;sdx:field type="word" name="titrew"&gt;
nord
&lt;/sdx:field&gt;

&lt;sdx:field type="word" name="titrew"&gt;
france
&lt;/sdx:field&gt;
</programlisting> 
		<para>Il y a plusieurs champs <literal>titrew</literal>. En fait, il y en autant que de mots, à ceci prêt que certains termes ne sont pas traités (on parlera de « mots vides »). Ceci est dû à l'<olink localinfo="analyseur" targetdocent="multilinguisme">analyseur de mots</olink>. On notera ainsi que le mot <literal>France</literal> a été transformé en <literal>france</literal>.</para>
	 </section> 
	 <section id="champ_date"> 
		<title>Champ de type <sgmltag class="attvalue">date</sgmltag></title>
		<para>Un champ de type <literal>date</literal> n'a pas vraiment besoin d'être explicité. Il contient une information de datation. Toutefois, SDX apporte une valeur ajoutée non négligeable pour ce type d'index. Chaque datation soumises à SDX sera transformé dans un même format. Cela permet donc de créer une forme commune pour l'ensemble des dates gérées. Ainsi, il est possible de retrouver tous les documents du 28 avril 1975 que l'on ait <literal>&lt;date&gt;19750428&lt;/date&gt;</literal> ou <literal>&lt;date&gt;28041975&lt;/date&gt;</literal> dans le document original.</para>
	 </section> 
	 <section id="recherche_mot_champ"> 
		<title>Recherche par mot et recherche par champ</title>
		<para>L'un des critères décrivant le modèle de recherche indique une différence essentielle entre la recherche par mot et la recherche par champ. Nous allons faire tout de suite la lumière sur ce concept central du modèle de recherche.</para>
		<para>Nous avons vu qu'il existe trois types de champs utilisable pour l'indexation des documents. Ce sont les deux premièrs qui nous intéressent ici : </para>
		<orderedlist>
		  <listitem>
			 <para><ulink url="#champ_field">Champ de type <literal>field</literal></ulink> ; </para>
		  </listitem><listitem>
			 <para><ulink url="#champ_word">Champ de type <literal>word</literal></ulink>.</para>
		  </listitem>
		</orderedlist>
		<para>Ces deux sortent de champs soutendent deux manières d'indexer les documents, et au-delà, deux manières de retrouver l'information. </para>
	 </section> 
  </section> 

</webpage>
