tutorial example solr

example - solr vs elasticsearch



los valores mĂșltiples se almacenan en el documento solr de forma predeterminada en 5.x (1)

Esto podría ser causado por 5.x utilizando el esquema administrado de manera predeterminada: si el archivo schema.xml correcto no estaba presente cuando inició Solr por primera vez, el esquema creado estará cerca (si no) de un modo sin esquema.

Cuando a no se declara explícitamente en un archivo solrconfig.xml, Solr utiliza implícitamente un ManagedIndexSchemaFactory, que de forma predeterminada es "mutable" y mantiene la información del esquema en un archivo de esquema administrado.

Puede volver al comportamiento anterior cambiando la Fábrica de esquemas de nuevo a (o agregue una definición para) ClassicIndexSchemaFactory en solrconfig.xml . El enlace también contiene instrucciones sobre cómo puede hacer que Solr importe el esquema anterior si en su lugar desea usar la nueva fábrica de esquema administrado:

Si tiene una colección de Solr existente que usa ClassicIndexSchemaFactory y desea convertir para usar un esquema administrado, puede simplificar la modificación de solrconfig.xml para especificar el uso de ManagedIndexSchemaFactory. Una vez que se reinicia Solr y detecta que existe un archivo schema.xml, pero el archivo managedSchemaResourceName (es decir, "esquema gestionado") no existe, el archivo existente schema.xml se renombrará como schema.xml.bak y los contenidos se vuelven a escribir en el archivo de esquema administrado.

Soy bastante nuevo en Solr y tengo un archivo schema.xml donde he definido todos los campos. Pero el problema aquí es que los campos se almacenan como valores múltiples. He intentado lo mismo en la versión 4.x y todo está funcionando como se esperaba. ¿Estoy haciendo algo aquí?

<schema name="aem-solr" version="1.5"> <field name="body" type="text_general" indexed="true" stored="true" /> <field name="description" type="text_general" indexed="true" stored="true" /> <field name="contentType" type="text_general" indexed="true" stored="true" /> <field name="lastModified" type="date" indexed="true" stored="true" /> <field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true" /> <field name="title" type="text_general" indexed="true" stored="true" /> <field name="url" type="text_general" indexed="true" stored="true" /> <field name="publishDate" type="tdate" indexed="true" stored="true" /> <field name="sling_resource_type" type="string" indexed="true" stored="true" multiValued="true" /> <field name="tags" type="text_general" indexed="true" stored="true" multiValued="true" /> <field name="text" type="text_general" indexed="true" stored="false" multiValued="true" />

Aunque estoy usando la versión 1.5 del esquema, todo se almacena como multivalos, como se muestra a continuación.

{ "id": "/content/geometrixx/en/company/bod", "title": [ "Board of Directors" ], "url": [ "/content/geometrixx/en/company/bod.html" ], "lastModified": [ "2010-11-312T06:17:30Z" ], "contentType": [ "page" ], "tags": [ "Investor", "Business" ], "_version_": 1536322934890561500 }

Traté de agregar el atributo multiValued = flase a los campos, pero todavía no tuve suerte. Estoy usando solrJ api para la conexión y la creación de documentos en el servidor Solr.