Preguntas relacionadas con la entrevista de Solr

  1. ¿Cuáles son los parámetros de consulta integrados de solr?
  • cadena de consulta q, obligatoria. Consulta básica utilizada en Solr .
  • fq- (consulta de filtro) consulta de filtro, función: en el resultado de coincidencia de la consulta q, también es el resultado de coincidencia de la consulta fq,
  • sort-sorting, formato: sort = <nombre de campo> + <desc | asc> [, <nombre de campo> + <desc | asc>] ... Ejemplo: (inStock desc, price asc) significa "inStock" primero en orden descendente, luego "precio" en orden ascendente, el valor predeterminado es el orden descendente de relevancia.
  • inicio: devuelve la posición de desplazamiento del primer registro en el resultado de búsqueda completo, comenzando en 0, generalmente utilizado para paginación.
  • filas: especifique el número máximo de registros en el resultado devuelto y coopere con el inicio para realizar la paginación.
  • wt - (tipo de escritor) especifica el formato de salida, puede haber xml, json, php, phps, detrás del aumento de solr 1.3, para usar para notificarnos, porque el valor predeterminado no está abierto.
  •  
  • fl-field como una lista separada por comas especifica el  conjunto de campos que deben devolverse en los resultados del documento  . El valor predeterminado es " * ", que se refiere a todos los campos. "Puntuación" significa que también se debe devolver la puntuación .
  • df: el campo de consulta predeterminado (campo) , generalmente especificado de manera predeterminada
  • qt- (tipo de consulta) Especifique el tipo de procesamiento de la solicitud de consulta. Generalmente, no es necesario especificarlo. El valor predeterminado es estándar.
  • hl-configure el campo que se resaltará (hay algunos parámetros integrados)
  1. ¿Cuáles son los operadores lógicos en Solr?

Operadores booleanos AND, &&

Operadores booleanos OR, ||

¡Operadores booleanos NO!

  1. ¿Qué sabe sobre los competidores de solr?
    1. https://blog.csdn.net/lj6052317/article/details/70241212
  1. ElasticSearch  : servidor de búsquedabasado enLucene,basado en la interfaz web RESTful,Elasticsearch está desarrollado en Java, de código abierto, utilizado principalmente en la computación en la nube,puede lograr búsquedas en tiempo real, estables, confiables, rápidas, fáciles de instalar y usar.
  2. Solandra : es un programa de motor de búsqueda en tiempo realque combina Solr y Cassandra(Cassandra es unsistema de base de datos NoSQL distribuido de código abierto). Escompatible con la mayoría de las funciones predeterminadas de Solr (búsqueda, facetado, aspectos destacados), replicación de datos, fragmentación, almacenamiento en caché y compresión. Todos estos son realizados por Cassandra Multi-master (cualquier nodo se puede leer y escribir) con un alto rendimiento en tiempo real.
  3. Describa la posición de Solr en la arquitectura general de la aplicación.

1. Solr se ejecuta como un servidor de búsqueda de texto completo independiente . Internamente, Lucene desarrollado por JAVA se utiliza para completar la indexación y la consulta de texto completo, y se proporciona la API RESTful para admitir la mayoría de los lenguajes de programación. La configuración externa flexible permite completar el trabajo sin escribir ningún código JAVA y también proporciona una arquitectura de complemento para admitir una personalización más avanzada del usuario.

2. Solr se queda sin otras aplicaciones de servidor , proporciona servicios fuera solo , toma el sistema de administración de equipos , queremos proporcionar alguna interfaz de usuario: por ejemplo, puede iniciar agregar una interfaz de dispositivo , puede ver la interfaz de dispositivo , puede iniciar una collar Usando la interfaz del dispositivo , como administrador del dispositivo , es posible que deba ajustar el dispositivo incorrecto . No importa qué funciones, como agregar , recibir , ver equipos, etc., están en todo el equipo . Esta información existirá en la base de datos del sistema de la plataforma y en el sistema Solr al mismo tiempo, pero puede ser diferente debido a los diferentes propósitos y usos que se almacenan en los diferentes sistemas, y el formato e integridad de la información también lo hará. sé diferente.

    1. La consulta de Solr se basa en RESTful, es decir, la esencia de una consulta es una URL de solicitud HTTP simple y un documento de respuesta estructurado. La estructura del documento de respuesta incluye principalmente: XML, JSON, CSV y otros formatos. Esto también significa que una gran cantidad de aplicaciones cliente pueden utilizar Solr, como aplicaciones WEB, aplicaciones cliente enriquecidas y dispositivos móviles. Cualquier plataforma que admita el protocolo HTTP puede interactuar con Solr.
  1. ¿Qué problema resuelve Solr?

Estrictamente hablando, lucene es responsable del almacenamiento de datos, mientras que solr es solo un motor que proporciona búsqueda e inserción. Es lo mismo que un intérprete de base de datos. ¿Cuáles son los beneficios? Por ejemplo, una base de datos tiene un campo con 1000 palabras y usted quiere usar estas palabras Cuando busque una palabra, las bases de datos ordinarias solo le permitirán usar Me gusta para consultar, atravesarán cada palabra para encontrar coincidencias aproximadas, lo cual es muy ineficiente y algunas no se pueden consultar. Por supuesto, excepto en algunas bases de datos especiales con la segmentación de palabras, por ejemplo, postgresql, lo que hace Lucene es la segmentación de palabras, y luego hacer coincidir la segmentación de palabras si existe la palabra que desea buscar, por supuesto, para mejorar la eficiencia de recuperación y el ahorro de memoria que la capa inferior ha hecho cosas muy complejas, puede Es tan simple pensar que la búsqueda de texto completo no es suficiente para las bases de datos

  1. Explica qué es solrcore.
    1. Solrcore es una instancia en Solr, es decir, la biblioteca de índices. Un Solr puede tener varias instancias de Solr y varias instancias de Solr no interfieren entre sí.
  2. Explica qué es solrhome.

   Solrhome es el directorio raíz de solr y la ubicación donde se almacena la biblioteca de índices. Puede haber varios solrcores en un solrhome.

  1. Explique qué es la colección.
    1. La versión independiente de solr, la colección es solrcore, que es una instancia de solr (biblioteca de índices)
    2. En SolrCloud: la colección es una colección de solrcore en estructura lógica
    3. Un índice completo en un sentido lógico en el cluster SolrCloud. A menudo se divide en uno o más fragmentos , utilizan el mismo conjunto de configuración. Si el número de fragmento es más de uno, es un índice distribuido, SolrCloud Collection le permite referirse a él por su nombre, sin la necesidad de preocuparse y querer utilizarlo para los parámetros de fragmento de búsqueda distribuidos .
  2. ¿Cómo iniciar una instancia de solr?

 

  1. ¿Cómo iniciar un clúster de solr?

 

  1. ¿Cómo iniciar la instancia de solr en el puerto especificado?
  2. ¿El clúster solr tiene que depender de zookeeper?
    1. No es. Pero usar zookeeper es lo más conveniente
  3. ¿Qué es el procesamiento de resaltado?

Scheam.xml (Configurar el tokenizador IK de tipo de campo)

    1. De hecho, más resaltado en el campo ( resaltado ) , el campo no cambia el contenido de la declaración original.
    2. Si desea resaltar un campo, debe establecer stored = true  ***** para el campo
    3. S olrj tiene tres métodos de procesamiento de resaltado Standard Highlighter (el más utilizado) , de acuerdo con la consulta docIdSet, obtener Documentos y obtener el valor del campo a resaltar en el documento actual, y hacer el algoritmo de coincidencia basado en el término de la consulta y el valor del campo
  1. ¿Cuáles son los archivos de configuración importantes en Solr?
    1. solr.xml (utilizado al configurar el clúster, configurar la información del clúster ejemplo: puerto IP de SolrCloud, tiempo de espera de conexión, etc.)
    2. SolrConfig.xml (Configure el contenido de la etiqueta <lib> (jar requerido por la instancia de solr) y procese la solicitud)
    3. Schema.xml (configurar el archivo, configurar el tipo de archivo, configurar el analizador)
  2. ¿Qué etiqueta se utiliza para definir un tipo de datos de Solr?

<fieldType>

  1. ¿Qué etiqueta se usa para definir un campo en Solr?

<campo>

  1. ¿Cuáles son las clasificaciones de los campos de solr?

común:

El almacenamiento de índice no separable de StringField se usa habitualmente para id, algunas columnas únicas

Segmentación de     palabras LongField , almacenamiento de índice autodefinido, a menudo utilizado para columnas numéricas

StoredField   no tiene segmentación de palabras ni almacenamiento de índices. A menudo se usa para columnas que solo necesitan mostrarse, como imágenes y audios.

    Personalización del almacenamiento del índice de segmentación de TextField Aplicable a cualquier tipo (el tipo de atributo del dispositivo de segmentación de configuración de solr debe ser este tipo)

  1. ¿Cuál es el papel de fq?

Filtrar criterios para encontrar la primera pregunta

  1. ¿Cuál es el papel de fl?

Encuentra la primera pregunta

  1. ¿Cómo configurar el campo de consulta predeterminado?

Encuentra la primera pregunta

  1. ¿Cómo configurar el punto culminante?

Encuentra la primera pregunta

  1. ¿Dónde se obtiene la base de tiempo para la indexación incremental? (Índice completo)

Vuelva a indexar el archivo en collcation / conf / dataimport.properties en la biblioteca

last_index_time se basa en este tiempo

  1. ¿Qué es un participio?

Cuando Solr vuelve a realizar el proceso de indexación, debe segmentar el documento de acuerdo con el tipo de tokenizador definido en el archivo de configuración de solr (scheam.xml) y dividir el documento en un término.

  1. ¿Cómo configurar las palabras vacías?

Establecer en el archivo stopword.dic en WEB-INF / classes del servicio solr

  1. ¿El papel de las palabras vacías?

Función: las palabras vacías no se segmentarán, lo que ahorrará espacio de almacenamiento y mejorará la eficiencia de las consultas

  1. ¿Cómo hacer la segmentación de palabras chinas?

Tokenizador IK de uso común para la segmentación de palabras chinas, el proceso específico:

Primero segmentación de palabras, luego filtrar

filtrar:

  1. Despuntuacion
  2. Mayúscula a minúscula
  3. Ir a permanecer palabra

 

  1. ¿Qué es solrCloud?

SolrCloud (solr cloud) es una solución de búsqueda distribuida proporcionada por Solr. Utilice SolrCloud cuando necesite capacidades de recuperación e indexación distribuidas, tolerantes a fallas y a gran escala. Cuando un sistema tiene una pequeña cantidad de datos indexados, no se necesita SolrCloud. Cuando la cantidad de índice es grande, la concurrencia de solicitudes de búsqueda es alta y se necesita SolrCloud para cumplir con estos requisitos.

 SolrCloud es una solución de búsqueda distribuida basada en Solr y Zookeeper, su idea principal es utilizar Zookeeper como centro de información de configuración de clústeres.

Tiene varias características:

1) Información de configuración centralizada

2) tolerancia automática a fallos

3) Búsqueda casi en tiempo real

4) Equilibrio de carga automático durante la consulta

 

  1. ¿Cómo crear solrCloud?

Paso 1: crear un grupo de cuidadores del zoológico

Parte 2: construir un clúster de tomcat

Parte 3: configurar solrhome para cada instancia de solr

Parte 4: Cargue los archivos de configuración de solr en zookeeper para una administración unificada

Paso 5: Configure el puerto y la dirección IP de cada servicio de Solr

Paso 6: asocie cada solr con el cuidador del zoológico

Parte 7: Complete la configuración e inicie el servicio

 

  1. ¿Dónde se guarda el archivo de configuración en modo solrCloud?

Guardado en el servicio zookeeper, puede verlo a través del enlace del cliente zookeeper

  1. Describe la estructura lógica de solrCloud.

El conjunto de índices incluye dos fragmentos (fragmento1 y fragmento2). El fragmento1 y el fragmento2 se componen de tres núcleos, uno de los cuales es un líder y dos réplicas. El líder es elegido por el guardián del zoológico y el guardián del zoológico controla los datos de índice de los tres núcleos en cada uno. fragmento para ser coherente. Resuelva el problema de la alta disponibilidad.

El usuario inicia una solicitud de índice para obtenerlo de shard1 y shard2 para resolver el problema de alta concurrencia.

  1. Describe la estructura física de solrCloud.

Tres instancias de Solr (cada instancia incluye dos núcleos) forman un SolrCloud.

  1. ¿Qué es una copia de un fragmento?

Réplica de fragmento   (réplica): un fragmento se compone de varias réplicas. Tenga en cuenta que el contenido de una réplica en un fragmento debe ser lógicamente el mismo. Los datos de un fragmento son solo una réplica, no una combinación de estas réplicas.

  1. ¿Cuántas copias puede tener un fragmento?

Según las necesidades comerciales reales, no más de 10 como máximo.

  1. ¿Existe una copia de un fragmento que debe ser el líder?

No necesariamente, cada fragmento no necesariamente tiene una copia del líder, pero si la solicitud se asigna a un fragmento que actualmente no tiene un líder, la solicitud se establecerá de forma predeterminada en el mismo nivel de fragmento para encontrar el líder.

  1. ¿Cuál es el papel del líder?

Realmente maneja la transacción de solicitud. Cuando un líder muere, otras réplicas  reelegirán a un nuevo líder

  1. ¿Qué clase de solrj se usa para administrar la conexión solr independiente?

HttpSolrServer

Servidor SolrServer = nuevo  HttpSolrServer ( "http: // localhost: 8080 / solr" );

  1. ¿Qué clase de solrj se usa para administrar la conexión solr de la versión del clúster?

CloudSolrServer

Servidor CloudSolrServer = nuevo CloudSolrServer (zkHost);

  1. Cuando usamos solrj para conectarnos a solrCloud, solo necesitamos saber la dirección del guardián del zoológico, ¿verdad?

No, necesitas obtener el nombre de la colección.

  1. ¿Qué es el envío automático? ¿Cómo configurar?

La sumisión dura se trata de persistencia, la sumisión suave se trata de visibilidad

Hay dos métodos de envío automático: 1. Envío físico automático, 2. Envío suave automático

Presentación dura:

El envío general también se denomina compromiso duro. El uso de este tipo de envío conservará inmediatamente el documento en el disco y le permitirá consultarlo de inmediato, porque abrirá un nuevo buscador, pero sus deficiencias son obvias. Consume mucho rendimiento y bloqueará hasta que se complete la tarea enviada. Su uso es una operación muy costosa.
Puede usar commit = true en la URL del documento enviado.

Presentación suave:

Envío suave, este tipo de envío no escribirá los datos en el disco inmediatamente, pero puede permitirle consultarlos inmediatamente, que es el llamado soporte para búsquedas casi en tiempo real (NRT), y esta operación no es costosa.

La configuración en solrConfig.xml es la siguiente:

<! - Envío automático automático ->

< autoCommit > 

< maxTime > $ {solr.autoCommit.maxTime: 30000} </ maxTime > 

< openSearcher > falso </ openSearcher > 

</ autoCommit > 

<! - Envío suave automático ->

< autoSoftCommit > 

< maxTime > $ {solr.autoSoftCommit.maxTime: 5000} </ maxTime > 

</ autoSoftCommit >

  1. ¿Qué es el envío suave y cómo configurarlo?

38 preguntas

  1. ¿El método de envío de Solrclient.commit () es un envío suave?

No, es una sumisión dura.

  1. ¿Cuáles son los beneficios de la presentación suave?

Este tipo de envío no escribirá los datos en el disco inmediatamente, pero puede permitirle consultarlos inmediatamente , mejorando la eficiencia de lectura y escritura.

  1. El envío automático puede causar la pérdida del índice ¿Cómo soluciona Solr este problema?

  Configure las siguientes propiedades en solrConfig.xml:

   maxDocs: cuando el número de índices de memoria alcanza el valor especificado, DUMP los índices de memoria en el disco duro y notifica a la clase del buscador que cargue el nuevo índice

    maxTime: Cada período de tiempo especificado, COMPROMETE automáticamente los datos del índice en la memoria y notifica a la clase Buscador que cargue un nuevo índice.

  1. ¿Hablar de la relación entre lucene y solr?

Lucene es un juego de herramientas de motor de búsqueda de texto completo y no puede proporcionar servicios de búsqueda e indexación de forma independiente.

Solr es un servidor de búsqueda de texto completo, que puede proporcionar servicios de búsqueda de texto completo de forma independiente, y es escalable y configurable, proporciona más declaraciones de consulta que Lucene y optimiza el rendimiento de Lucene.

Solr, como Lucene, no proporciona renderizado de vistas.

  1. Describe cómo usaste Solr en el proyecto.

Primero, en el servicio build solr linux system configuró ik word, un dominio de campo de Schema (dominio de cada campo), la definición del campo de archivo .xml de configuración debe resaltarse en Schema .xml especificado en el campo de atributos Store se establece en true , como: el nombre del dispositivo, la descripción del dispositivo (se puede resaltar cualquier cosa que se pueda usar como condición de consulta), etc., por supuesto, también puede establecer el atributo resaltado

Supongo que te gusta

Origin blog.csdn.net/qq_30764991/article/details/97301472
Recomendado
Clasificación