Doc produitsMenu

Exemple d'un fichier de configuration pour le connecteur Database

Vous pouvez utiliser le fichier suivant avec le connecteur Database afin d'indexer des données de l'échantillon de la base de données Northwind, qui peut être utilisée avec Microsoft Access et Microsoft SQL Server.

Notes :

  • L’exemple suivant d’un fichier de configuration fonctionnera avec la base de données Northwind, disponible à partir de Microsoft Access 2013. En utilisant d’autres versions, confirmez que le schéma de votre base de données Northwind correspond aux noms de paramètres dans l’exemple suivant de fichier de configuration.

  • Une source Database peut régulièrement exécuter des actualisations incrémentales pour ne réindexer que les dernières informations modifiées de la base de données où vous configurez l’actualisation incrémentale (voir Activation de l'actualisation incrémentale dans une source Data).

<?xml version="1.0" encoding="utf-8" ?> 
<ODBC>
  <CommonMapping excludedItems="Customers">
    <AllowedUsers>
      <AllowedUser type="Windows" allowed="true">
        <Name>everyone</Name>
        <Server></Server>
      </AllowedUser>
    </AllowedUsers>
  </CommonMapping>
  <Mapping type="Orders">
    <Accessor type="query">
      SELECT Shippers.Company AS ShipperName, 
             Orders.[Order ID] AS ID, 
             Orders.[Customer ID], 
             Orders.[Order Date], 
             Orders.[Shipped Date], 
             Customers.Company, 
             Employees.[Last Name], 
             Employees.[First Name],
             Products.[Product Name],
             Products.[List Price]
      FROM   Orders, [Order Details], Shippers, Customers, Employees, Products
      WHERE  Orders.[Shipper ID] = Shippers.ID AND
             Orders.[Customer ID] = Customers.ID AND
             Orders.[Employee ID] = Employees.ID AND
             [Order Details].[Order ID] = Orders.[Order ID] AND
             [Order Details].[Product ID] = Products.ID AND
             Orders.[Order Date] >= ?
    </Accessor>
    <Fields>
      <Uri>http://www.coveo.com/Orders/details.aspx?Id=%[ID]</Uri>
      <ClickableUri>http://www.coveo.com</ClickableUri>
      <FileName>%[ID].txt</FileName>
      <Title>Order ID: %[ID]: %[Product Name]</Title>
      <ModifiedDate>%[OrderDate]</ModifiedDate>
      <Body>
        Customer: %[Company]
        OrderDate: %[Order Date]<br/> 
        ShippedDate: %[Shipped Date]<br/>
        Shipped via: %[ShipperName]<br/>
        %[Product Name], $%[List Price]
      </Body>
      <CustomFields>
        <CustomField name="Type">Order</CustomField>
        <CustomField name="OrderDate">%[Order Date]</CustomField>
        <CustomField name="Shipper">%[ShipperName]</CustomField>
        <CustomField name="sysAuthor">%[First Name] %[Last Name]</CustomField>
      </CustomFields>
    </Fields>
    <AllowedUsers>
      <AllowedUser type="CustomGroup" allowed="true">
        <Name>%[First Name] %[Last Name]</Name>
        <Server></Server>
      </AllowedUser>
    </AllowedUsers>
  </Mapping>
  <Mapping type="Customers">
    <Accessor type="object">Customers</Accessor>
    <Fields>
      <Uri> http://www.coveo.com/Customers/details.aspx?Id= %[ID]</Uri>
      <ClickableUri>http://www.coveo.com</ClickableUri>
      <ContentType>text/html</ContentType>
      <Title>%[Company] (%[ID])</Title>
      <Body>%[Company]
          %[Job Title] %[First Name] %[Last Name] 
          %[Business Phone]</Body>    
      <CustomFields>
        <CustomField name="Type">Customer</CustomField>
        <CustomField name="ID">%[ID]</CustomField>
      </CustomFields>
    </Fields>
    <AllowedUsers>
      <AllowedUser type="Windows" allowed="true">
        <Name>everyone</Name>
        <Server></Server>
      </AllowedUser>
    </AllowedUsers>
  </Mapping>
</ODBC>

La liste suivante présente les différents attributs que l'on retrouve dans l'échantillon du fichier de configuration.

<CommonMapping>

Vous pouvez spécifier plusieurs paramètres communs pour tous ou plusieurs des associations dans le fichier de configuration. Sauf lorsque spécifié autrement, les nœuds <CustomFields> et <AllowedUsers>, utilisés pour tous les tableaux, peuvent être ajoutés (voir <Mapping>). L'attribut excludedItems présente tous les objets du paramètre de source ItemType, qui n'utilise par les paramètres spécifiés dans CommonMapping. L'exemple suivant présente l'entièreté des nœuds CommonMapping où le tableau Customers est exclu.

Référez-vous à l'exemple suivant :

<CommonMapping excludedItems="Customers">
    <Fields>
      <CustomFields>
        <CustomField name="ID">%[ID]</CustomField>
      </CustomFields>
    </Fields>
    <AllowedUsers>
      <AllowedUser type="Windows" allowed="true">
        <Name>everyone</Name>
        <Server></Server>
      </AllowedUser>
    </AllowedUsers>
  </CommonMapping>

<Mapping>

Définit comment le connecteur retrouve des données des tableaux, comment les données indexées sont stockées, et qui y a accès. Il possède un attribut type. Il est important d'ajouter le nom du tableau qui est utilisé pour l'association. La correspondance du tableau Orders est affichée et deux tableaux sont indexés. Toutefois, l'un d'entre eux contient la configuration la plus complexe.

Référez-vous à l'exemple suivant :

Note : Toutes les valeurs de nœud peuvent être définies à l'aide de la syntaxe suivante : %[odbcField]. Lorsque le processus d'indexation débute, cette valeur est remplacée par la valeur actuelle de la source de base de données. Par exemple, dans <FileName>%[CustomerID].txt</FileName>, le terme %[CustomerID] est dynamique et est remplacé par la valeur de source; toutefois, .txt est statique.

<Accessor>

Le nœud <Accessor> contient la chaîne de requête qui est utilisée afin d'extraire les données du tableau. Ce nœud est obligatoire afin d'obtenir une correspondance valide. Il définit la méthode qui est utilisée afin d'accéder au tableau spécifié. Il y a un attribut type qui peut être égal à object ou à query. Dans l'exemple ci-haut, le type query est utilisé, ce qui veut dire que les informations stockées dans la base de données sont accédées à l'aide d'une requête SQL et peut être stockée dans plusieurs tableaux et vues.

Référez-vous à l'exemple suivant :

SELECT Shippers.Company AS ShipperName, 
             Orders.[Order ID] AS ID, 
             Orders.[Customer ID], 
             Orders.[Order Date], 
             Orders.[Shipped Date], 
             Customers.Company, 
             Employees.[Last Name], 
             Employees.[First Name],
             Products.[Product Name],
             Products.[List Price]
      FROM   Orders, [Order Details], Shippers, Customers, Employees, Products
      WHERE  Orders.[Shipper ID] = Shippers.ID AND
             Orders.[Customer ID] = Customers.ID AND
             Orders.[Employee ID] = Employees.ID AND
             [Order Details].[Order ID] = Orders.[Order ID] AND
             [Order Details].[Product ID] = Products.ID AND
             Orders.[Order Date] >= ?
Note : Vous pouvez utiliser la fonctionnalité d'exécution de requête paginée afin de retourner des résultats en petit numéro de lot et diminuer les chances de temporisation de l'exécution (voir Activation de l'exécution de requête paginée pour le connecteur Database).

<Fields>

Collection de champs à associer lorsqu'un document est indexé.

<Uri>

Adresse vers laquelle l'utilisateur est redirigé en cliquant sur le titre d'un résultat de recherche. Elle est également utilisée par l'index pour identifier des documents.

Référez-vous à l'exemple suivant :

<Uri>http://www.coveo.com/Orders/details.aspx?Id=%[ID]</Uri>

Note : Bien que les enregistrements indexés de la base de données n'ont pas d'adresse Web où ils peuvent être visionnés par les utilisateurs, vous devez en fournir une. Il est possible de générer un URI basé sur une fausse adresse, tant et aussi longtemps qu'il est unique. Vous pouvez en créer un qui est formé avec une clé primaire fournie par votre base de données.

<ClickableUri>

URI ouvert en tentant d'ouvrir des documents de l'interface utilisateur de CES (Coveo Enterprise Search).

Référez-vous à l'exemple suivant :

<ClickableUri>http://www.coveo.com</ClickableUri>

<FileName>

Nom du fichier indexé. L'extension du nom de fichier est utilisée afin de sélectionner le bon convertisseur.

Référez-vous à l'exemple suivant :

<FileName>%[ID].txt</FileName>

<Title>

Nom affiché dans la page de résultats de recherche, qui représente le titre du document indexé.

Référez-vous à l'exemple suivant :

<Title>Order ID: %[ID]: %[Product Name]</Title>
Note : %[ID] et %[Product Name] sont utilisés afin de donner à chaque entrée son propre nom selon le champ d'identification et de nom de produit dans le tableau Orders.

<Body>

Body du document indexé. Il peut s'agir d'un mélange de contenu statique et dynamique, obtenu à partir du tableau.

Référez-vous à l'exemple suivant :

<Body>
        Customer: %[Company]
        OrderDate: %[Order Date]<br/> 
        ShippedDate: %[Shipped Date]<br/>
        Shipped via: %[ShipperName]<br/>
        %[Product Name], $%[List Price]
      </Body>
<Body>OrderDate: %[OrderDate] \n RequiredDate: %[Required Date] \n ShippedDate: %[ShippedDate] \nShipped via: %[ShipperName]
</Body>

Les champs (%[field_name]) sont tous des types de contenu dynamique qui changent à chaque entrée prise du tableau.

Note : Vous ne pouvez utiliser les nœuds Body et BinaryBody au même moment.

<CustomFields>

Association de champs ODBC à des champs personnalisés CES. Il est fait à partir d'une collection de nœuds <CustomField>.

<CustomField>

Chaque nœud <CustomField> représente un champ personnalisé dans CES et les données qui y résident. Dans l'exemple ci-haut, plusieurs nœuds <CustomField> comme ceux qui suivent sont affichés :

<CustomField name="OrderDate">%[Order Date]</CustomField>

L'attribut name est obligatoire et représente le nom du champ personnalisé CES auquel des données sont liées. La valeur de ce nœud devrait utiliser la syntaxe de correspondances. L'expression %[OrderDate] montre au connecteur comment copier les informations du champ OrderDate de la base de données dans le champ personnalisé OrderDate de CES.

<AllowedUsers>

Association de champs ODBC à la sécurité CES. Le connecteur n'indexe pas automatiquement les sécurités de la base de données. Ainsi, ce champ peut être utilisé afin de protéger les données prises dans la base de données.

Note : Si vous n'insérez pas cette section, tout le monde aura accès à tous les documents indexés.

<AllowedUser>

Droits accordés aux utilisateurs ou aux groupes à propos des documents indexés. Dans l'exemple suivant, il y a deux attributs obligatoires :

Référez-vous à l'exemple suivant :

<AllowedUser type="CustomGroup" allowed="true">
  • Type : Spécifie le type d'utilisateur auquel des droits sont donnés (Windows, CustomGroup ou CustomUser).

  • Allowed : Peut être défini à true ou à false.

Note : Vous pouvez définir plusieurs utilisateurs permis dans un seul nœud AllowedUser en les séparant par un point-virgule (;).

<Name>

Nom d'un utilisateur ou d'un groupe auquel vous souhaitez accorder des permissions. Les valeurs FirstName et LastName sont utilisées et stockées dans le tableau. Ce type d'installation est utile seulement si ces champs correspondent aux utilisateurs qui ont accès à la base de données.

Référez-vous à l'exemple suivant :

<Name>%[First Name] %[Last Name]</Name>

Vous devriez avoir un ou plusieurs tableaux qui présentent les utilisateurs ainsi que leurs permissions respectives. Aussi, fournissez le nom d'un groupe Windows renfermant tous les utilisateurs qui devraient avoir accès. Sinon, ce champ peut être défini à Everyone, ce qui veut dire que tout le monde a accès aux informations du tableau.

<Server>

Nom de domaine du groupe ou de l'utilisateur présent. Dans l'exemple ci-haut, aucun nom de serveur n'est spécifié. Toutefois, dans un contexte ordinaire, il doit être défini à une valeur spécifique.