Red de conocimiento informático - Material del sitio web - Cómo utilizar Solr para crear una plataforma de consulta de big data

Cómo utilizar Solr para crear una plataforma de consulta de big data

0×00 El comienzo de la mierda habitual

Desde que los diversos incidentes del escándalo de la entrepierna comenzaron a aparecer uno tras otro, también aprendí la lección y cambié las contraseñas en varios lugares por otras importantes. Cambiaba regularmente, por miedo a que me engañaran. Al nacer en la 18.ª generación de la sociedad, incluso comencé a usar un nombre falso. Me puse un nombre nuevo: Dixingcaidi. Parecía un buen nombre, pero en realidad provenía de nuestra ciudad natal. ! Este nombre aparentemente bonito es en realidad una maldición en nuestra ciudad natal, lo que significa una persona con muerte cerebral...

Este es solo el nombre. En cuanto al apellido, la información de registro de cada hogar está disponible allí según el orden de los apellidos de los cientos de familias, Zhao Qian, Sun, Li Zhou, Wu y Zheng. Wang, Zhang Xingcai, Li Xingcai, Wang Xingcai... No sé cuánto tiempo pasé con tanta emoción. Finalmente, un día, recibí una llamada telefónica extraña: Hola, ¿es este el Sr. Ma Xingcai?

Está bien, lo que se suponía que vendría finalmente llegó, así que a través del nombre, supe que usé este nombre en un sitio web determinado y luego busqué en varios canales. Efectivamente, se quitó los pantalones. esa estación de basura.

Me quité los pantalones con decisión, y luego me perdí el control y comencé a coleccionar pantalones hasta que un día descubrí que la colección ya era muy rica. Se estima aproximadamente que hay miles de millones de piezas. Datos, me di unas palmaditas en la cabeza y pensé, esto no se puede simplemente recopilar, también necesito usarlos para construir una biblioteca de trabajo social...

0 ×01 Introducción

¿Cómo construir una base de datos de ingeniería social? Para este tipo de datos masivos, no es solo una simple cuestión de usar mysql para construir una base de datos y luego hacer una consulta php seleccionando * de sgk donde el nombre de usuario es '%xxxxx%'. Esto se hará, y no es un poco ingenuo. Cáncer puede encontrar una computadora de mala calidad con memoria 4g y AMD de doble núcleo. Si usa la declaración anterior y la configuración del sistema para consultar la base de datos de ingeniería social, probablemente tomará la mitad. una hora para comprobar un registro. Afortunadamente, este problema ya no es algo que los llamados motores de búsqueda de texto completo puedan resolver. La mejor noticia es que la mayoría de los motores de búsqueda de texto completo son de código abierto y no requieren dinero.

La mayoría de las bibliotecas de ingeniería social que se han creado en Internet tienen arquitectura mysql + coreseek + php. Coreseek está basado en sphinx y es un excelente motor de búsqueda de texto completo. Es relativamente liviano y una vez que la cantidad de datos supera los 100 millones, será un poco abrumador y el rendimiento distribuido de la construcción de un clúster no es ideal si desea considerar la creciente cantidad de datos en el período posterior. , todavía tienes que usar otros programas. Por esta razón, usé Solr.

Solr se basa en el famoso marco Lucene y Java. Puede importar varias bases de datos y datos en varios formatos a través de la interfaz jdbc. Es muy adecuado para desarrollar plataformas de búsqueda de datos masivas a nivel empresarial y proporciona una solución completa. Funcionalidad de nube Solr. En primer lugar, la interfaz JDbc puede importar datos de varias bases de datos y varios formatos, lo cual es muy adecuado para desarrollar plataformas de búsqueda de datos masivos a nivel empresarial y proporciona funciones completas de clúster de nube solr.

Más importante aún, la consulta de datos de Solr se basa completamente en .mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/newsgk" user="root" contraseña="contraseña" loteSize="-1 " />

<entity name="b41sgk" pk="id" query="select * from b41sgk">

Este archivo es responsable de configurar la fuente de datos importada, siga las instrucciones de mysql La configuración real modifica el contenido de la fuente de datos. El contenido de las siguientes entidades debe completarse estrictamente de acuerdo con la estructura de la tabla de la base de datos del trabajo social en mysql. Los nombres de las columnas deben ser exactamente los mismos que los de la base de datos. >

Luego abra solrconfig.xml. Primero busque este párrafo:

esquema administrado

Coméntalo todo y agrega una línea que lo cambia a:

true

esquema-administrado

-->

Esto se debe a lo anterior solr5. El esquema de administración de esquema administrado se usa de forma predeterminada, por lo que debe cambiarse a un esquema que se pueda modificar manualmente.

Entonces también debemos desactivar Sugerest, que proporciona sugerencias inteligentes para búsquedas y que no utilizamos en la biblioteca social.

Es importante destacar que el suministro puede ralentizar gravemente el inicio de Solr y, con volúmenes de datos de miles de millones, activar el suministro puede hacer que Solr cargue núcleos durante horas.

Además, busque el siguiente párrafo en solrconfig.xml:

mySuggester

FuzzyLookupFactory

DocumentDictionaryFactory

cat

precio

<str name="suggestAnalyzerFieldType">cadena

verdadero

10

sugerir

Elimine todos estos contenidos y guarde el archivo solrconfig.xml.

A continuación copie el esquema administrado, cámbiele el nombre a esquema.xml (no elimine el archivo original), abra y busque lo siguiente:

Conserve solo los nodos _versión_ y _raíz_, luego elimine todos los campos,dynamicField y copyField.

Elimine todos los campos, DynamicField y copyField, y agregue lo siguiente:

<nombre del campo="IP" tipo="text_general" indexed="true" almacenado="true"/>

< campo nombre="sitio" tipo="text_general" indexed="true" almacenado="true"/>

< campo nombre="palabra clave" tipo="text_ik" indexed="true" almacenado ="false" multiValued="true"/>

id

La clave única aquí Es la palabra clave original en el archivo de configuración, utilizada para especificar el campo de índice y debe conservarse. Un nuevo campo se denomina palabra clave. Su propósito es la consulta conjunta, es decir, cuando es necesario utilizar varios campos para la consulta de palabras clave, se puede utilizar este nombre de campo para mejorar la eficiencia de la consulta. utilizado para especificar qué campos copiar a la palabra clave. Tenga en cuenta que para campos como palabras clave, los siguientes atributos multiValued deben ser

los tres campos nombre de usuario, correo electrónico y palabra clave se utilizan para recuperar palabras clave de consulta. Sus tipos se designan como text_ik, que creamos. Porque aunque Solr tiene segmentación de palabras chinas incorporada, el efecto no es bueno. Necesitamos agregar el motor de segmentación de palabras chinas IKAnalyzer para consultar chino.

Descargue el paquete de código fuente de IKAnalyzer adecuado para solr5 y luego use Maven para compilarlo para obtener el archivo IKAnalyzer-5.0.jar y colocarlo en solr-5.5.0/server/solr-webapp/webapp/WEB-INF/lib. Luego agréguelo a la sección fieldType de solrrconfig.xml. Agregue el siguiente contenido a xml:

Después de guardar, el núcleo La configuración está completa, pero para importar datos de MySQL, también necesitamos descargar el archivo de biblioteca mysql-connector-java -bin.jar del sitio web de MySQL, así como solr-dataimporthandler-5.5.0.jar y solr-dataimporthandler-extras. -Documento 5.5.0.jar. archivos solr-dataimporthandler-5.5.0.jar y solr-dataimporthandler-extras-5.5.0.jar en el directorio server/solr-webapp/webapp/WEB-INF/lib y cópielos todos en solr-5.5.0 solr- 5.5.0.jar en el directorio /server/solr-solr-connectors.jar y luego reinicie solr para iniciar la importación de datos.