Proceso de indexación
El proceso de indexación implica la adición de documentos a un IndexWriter. El proceso de búsqueda implica la recuperación de documentos de un índice utilizando un IndexSearcher. Solr puede indexar contenido estructurado y no estructurado.
El contenido estructurado está organizado. Por ejemplo, algunos de los campos predefinidos de la descripción del producto son title, manufacture name, description y color.
En cambio, el contenido no estructurado carece de estructura y organización. Por ejemplo, puede constar de archivos PDF o contenido de orígenes externos (tales como tweets) que no siguen ningún patrón predefinido.
Manejador de importación de datos
<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>
Captación, lectura y proceso de datos
- Cómo captar datos, por ejemplo utilizando consultas o URL.
- Cómo leer, por ejemplo columnas de conjunto de resultados o campos XML.
- Cómo procesar, por ejemplo modificar, añadir o eliminar campos.
iniciosolr
/v3/CatalogEntry/conf/wc-data-config.xml contiene el contenido siguiente:
<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 datos de HCL Commerce es el origen de datos para los datos estructurados.
- unstructuretmpfile especifica la vía de acceso a los datos no estructurados.
Además, el archivo contiene los siguientes tipos de contenido de forma predeterminada:
Existen los tres documentos siguientes: uno para CatalogEntry, otro para paquete compuesto y otro para el kit dinámico.
El documento CatalogEntry contiene las entidades siguientes: Product y attachment_content.
- query
- Identifica los datos para llenar los campos del documento Solr durante las importaciones completas.
- deltaImportQuery
- Identifica los datos para llenar campos durante las importaciones delta.
- deltaQuery
- Identifica las claves primarias de las entidades actuales que han cambiado desde la última hora de índice.
- deletedPkQuery
- Identifica los documentos para eliminar.
- Transformer
- Cada conjunto de campos captados por la entidad los puede consumir directamente el proceso de indexación o cambiar utilizando transformadores para modificar un campo o crear un nuevo conjunto de campos.
<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" />
Donde: CATENTRY_ID es el nombre de columna de base de datos y catentry_id es el Campo de índice Nombre.
Rastreo de contenido no estructurado
Para contenido no estructurado, ExtractingRequestandler de Solr utiliza Apache Tika para permitir que los usuarios suban archivos binarios y datos no estructurados a Solr. A continuación, Solr extrae e indexa el contenido.
<!-- 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 determina automáticamente el tipo de documento de entrada y produce una corriente XHTML que luego se ajusta a un ContentHandler SAX.
- Entonces Solr reacciona a los sucesos SAX de Tika y crea los campos a indexar.
- Tika produce información de metadatos como Title, Subject y Author.
- Todo el texto extraído se añade al campo content.content Si se establece Fmap.content en text, el contenido se añade al campo text.
Para obtener más información sobre el contenido no estructurado, consulte Contenido no estructurado y contenido del sitio.
Para obtener más información sobre el esquema de índice de WebSphere Commerce, consulte y .HCL CommerceEsquema del índice de HCL Commerce SearchDefinición de esquema de índice de HCL Commerce Search