Processus d'indexation
Le processus d'indexation consiste à ajouter des documents à un IndexWriter. Le processus de recherche consiste à récupérer des documents à partir d'un index à l'aide d'un IndexSearcher. Solr peut indexer le contenu structuré et non structuré.
Le contenu structuré est organisé. Par exemple, certaines des zones prédéfinies de la description du produit sont title, manufacture name, description et color.
Le contenu non structuré, en revanche, manque de structure et d'organisation. Par exemple, il peut se composer de fichiers PDF ou de contenu provenant de sources externes (telles que les tweets) qui ne suivent aucun modèle prédéfini.
Gestionnaire d'importation de données
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">wc-data-config.xml</str>
<str name="update.chain">wc-conditionalCopyFieldChain</str>
</lst>
</requestHandler>
Récupération, lecture et traitement des données
- Comment récupérer des données, notamment via l'utilisation de requêtes ou d'URL.
- Ce qu'il faut lire, notamment les colonnes de jeu de résultats ou les zones XML.
- Comment traiter, notamment modifier, ajouter ou supprimer des zones.
base_solr/v3/CatalogEntry/conf/wc-data-config.xml fichier contient le contenu suivant :
<dataConfig>
<dataSource name="WC database"
type="JdbcDataSource"
jndiName="jdbc/WCDB"
readOnly="true"
autoCommit="true"
transactionIsolation="TRANSACTION_READ_COMMITTED"
holdability="CLOSE_CURSORS_AT_COMMIT"
/>
<dataSource basePath="${solr.core.instanceDir}/../Unstructured/temp/"
name="unstructuretmpfile"
type="com.ibm.commerce.solr.handler.RequestFileDataSource"
/>- La base de données HCL Commerce est la source de données pour les données structurées.
- unstructuretmpfile spécifie le chemin d'accès aux données non structurées.
En outre, le fichier contient les types de contenu suivants par défaut :
Les trois documents suivants existent : un document pour CatalogEntry, un pour le groupement, et un pour le kit dynamique.
Le document CatalogEntry contient les entités suivantes : Produit et attachment_content.
- query
- Identifie les données pour renseigner les zones du document Solr lors des importations complètes.
- deltaImportQuery
- Identifie les données pour renseigner les zones lors des importations de delta.
- deltaQuery
- Identifie les clés primaires des entités actuelles qui ont changé depuis la dernière heure d'index.
- deletedPkQuery
- Identifie les documents à supprimer.
- Transformer
- Chaque ensemble de zones récupérées par l'entité peut être consommé directement par le processus d'indexation, ou modifié à l'aide de transformateurs afin de modifier une zone ou créer un nouvel ensemble de zones.
<field column="CATENTRY_ID" name="catentry_id" />
<field column="MEMBER_ID" name="member_id" />
<field column="CATENTTYPE_ID" name="catenttype_id_ntk_cs" />
<field column="PARTNUMBER" name="partNumber_ntk" />
Où : CATENTRY_ID est le nom de la colonne de base de données et catentry_id est le nom de la zone d'index.
Exploration de contenu non structuré
Pour le contenu non structuré, Solr ExtractingRequestandler utilise Apache Tika pour permettre aux utilisateurs de charger des fichiers binaires et des données non structurées sur Solr. Ensuite, Solr extrait et indexe le contenu.
<!-- Solr Cell Update Request Handler
http://wiki.apache.org/solr/ExtractingRequestHandler
-->
<requestHandler name="/update/extract"
startup="lazy"
class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<!-- All the main content goes into "text"... if you need to return
the extracted text or do highlighting, use a stored field. -->
<str name="fmap.content">text</str>
<str name="lowernames">true</str>
<str name="uprefix">ignored_</str>
<!-- capture link hrefs but ignore div attributes -->
<str name="captureAttr">true</str>
<str name="fmap.a">links</str>
<str name="fmap.div">ignored_</str>
</lst>
</requestHandler>
- Tika détermine automatiquement le type de document d'entrée et produit un flux XHTML qui est ensuite adapté à un SAX ContentHandler.
- Solr réagit ensuite aux événements Tika SAX et crée les zones à indexer.
- Tika produit des informations de métadonnées telles que Title, Subject et Author.
- Tout le texte extrait est ajouté à la zone content. Définir Fmap.content sur text entraîne l'ajout du contenu à la zone text.
Pour plus d'informations sur le contenu non structuré, voir Contenu non structuré et de site.
Pour plus d'informations sur le schéma d'index HCL Commerce, voir HCL Commerce Search schéma d'index et HCL Commerce Search définition de schéma d'index.