Instalación de ElasticSearch y operaciones básicas e instalación es Segmentación de palabras chinas y ========= springboot integra ElasticSearch

 

Pasos 1 de instalación distribuida de Elasticsearch

# Considere la necesidad de instalar elasticsearch-head para visualización web, así que primero instale nodejs, principalmente usando npm 
​wget
https://npm.taobao.org/mirrors/node/v11.0.0/node-v11.0.0.tar.gz 
​tar
- zxvf node-v11.0.0.tar.gz 
​mv
node-v11.0.0 /opt/soft/ 
​cd
/opt/soft/node-v11.0.0 
​yum
install gcc gcc-c++ 
​./configure
 
​make
 
​hacer
instalar 
​nodo

-v

Paso 2

cd /opt/ 
tar -zxf elasticsearch-6.7.1.tar.gz 
mv elasticsearch-6.7.1 /opt/soft/ 
cd /opt/soft/es671/config/ 
vim elasticsearch.yml 
========= ===== 
#Modificar 
cluster.name: es-app 
node.name: es-1 
network.host: 192.168.64.128 
http.port: 9200 
#Insertar 
http.cors.enabled: true 
http.cors.allow-origin: "*" 
============== 
:wq 
​#Crear
un usuario 
useradd cm 
passwd cm   
ok 
ok 
su cm 
su 
vim /etc/security/limits.conf 
#Agregar la pregunta 1 al final de el sistema de archivos Max El número de archivos es demasiado bajo 
cm
soft nofile 65536  
cm hard nofile 131072
cm soft nproc 4096 
cm hard nproc 4096
​vim
/etc/sysctl.conf 
#Agregar al final del archivo Problema 2 La memoria virtual es demasiado baja 
vm.max_map_count=655360 
​#Activar
 
sysctl -p 
​#Autorizar
 
chown cm:cm -R /opt/soft/es671/ 
​su
cm 
cd. . 
cd /opt/soft/es671/bin/ 
ls 
./elasticsearch 
#Vista del navegador 
192.168.64.128:9200

Paso 3 (abre una nueva ventana)

cd /opt/ 
#Instalar zip 
yum install -y descomprimir zip 
#Descomprimir 
elasticsearch-head-master.zip 
​mv
elasticsearch-head-master /opt/soft/eshead 
​cd
/opt/soft/eshead/ 
#Dile al sistema que importe el paquete Finalmente, hay un archivo que no se puede encontrar y se informa un error (no es importante y no afecta el desarrollo) 
npm install 
​#Abrir
una nueva ventana 
cd /opt/soft/eshead 
npm run start 
​#Acceso al navegador 
http: //192.168.64.128:9100


Búsqueda elástica02

ruidoso

  Se utiliza para ubicar un determinado dato en la tabla de datos. Es único y no cambiará.

Rownum

  Indica consultar la posición de un determinado registro en todo el conjunto de resultados. El número de fila correspondiente a diferentes condiciones de consulta para el mismo registro es diferente, pero el ID de fila no cambiará.

 

 

Iniciar ES

Configurar variables de entorno 
vim /etc/profile 
=========================== 
#Elasticsearch 
export Elasticsearch_Home=/opt/soft/es671 
export PATH=$ RUTA:$Elasticsearch_Home/bin 
=========================== 
fuente /etc/profile 

su cm 
cd /opt/soft/es671/bin . /elasticsearch #Iniciar. /elasticsearch -d #Detener
 
su
 
cd /opt/soft/eshead npm run start 192.168.64.128:9100
   #Acceso al navegador 
#Si desea instalar un clúster, recuerde vim elasticsearch.yml node.name: es- 1 necesita diferente




 

 

es crea índice

Método 1

poner indexTest001 
​poner
/my_test_index_004

Método 2

 

 

es datos básicos de operación

1Crear tabla

 

 

2. Agregar datos

 

3. Modificar datos

 

4. Eliminar datos

 

5. Agregue datos en lotes

 

 

 

 

6. Consulta por identificación

 

7. Consultar todo

 

8. consulta difusa

 

 

9. Consulta de concordancia de frase

 

10. Coincidencia de prefijos de frases

 

11.Consulta de varias columnas

 

12.en consulta query-query_string

 

13.término consulta término-consulta

 

14.Consulta de vocabulario múltiple

 

15. Consulta de rango

 

16. consulta booleana

Instalar

 

 

Instalación de segmentación de palabras chinas.

 

El requisito previo es arrastrar el paquete jar.

 

mkdir ik 
mv elasticsearch-analysis-ik-6.7.1.zip ik/ 
ls 
cd ik/ 
descomprimir elasticsearch-analysis-ik-6.7.1.zip 
cd .. 
mv ik/ /opt/soft/es671/plugins/ 
cd /opt /soft/es671/plugins/ 
ls 
cd ../.. 
chown cm:cm -R /opt/soft/es671/ 
su cm 
cd es671/bin/ 
./elasticssearch -d 
​su 
cd /opt/soft/eshead 
npm run 
empezar

Prueba del segmentador de palabras .ik

.1 Uso del tokenizador

 

 

 

 

 

integración springboot es

 

El primer paso es importar pom.

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version> 2.2.0.RELEASE </version> 
    <relativePath/> <!-- lookup padre del repositorio --> 
</parent> 
<repositorios> 
    <repositorio> 
        <id>spring-snapshots</id> 
        <url>http://repo.spring.io/libs-snapshot</url> 
    </repository> 
</repositories> 

<pluginRepositories> 
    <pluginRepository> 
        <id>instantáneas de primavera</id> 
        <url>http://repo.spring.io/libs-snapshot</url> 
    </pluginRepository> 
</pluginRepositories>
<dependencia> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId >spring-boot-starter-data-elasticsearch </artifactId> 
</dependencia>

El segundo paso es configurar yml.

servidor: 
  puerto: 8001 
primavera: 
  aplicación: 
    nombre: myelastics 
  elasticsearch: resto :
      uris : 192.168.64.128:9200
    

 El tercer paso es configurar la clase de entidad.

@Data 
@AllArgsConstructor 
@NoArgsConstructor 
@Builder 
@Document(indexName = "mydemo1",type= "userinfos" ) 
public class Userinfos { 
    @Id 
    private String id; 
    @Field(tipo = FieldType.Integer,nombre = "id de usuario") 
    ID de usuario entero privado; 
    @Field(tipo = FieldType.Text,nombre = "nombre de usuario") 
    cadena privada nombre de usuario; @JsonFormat(pattern = "yyyy-MM-dd") 
    @Field(type = FieldType.Date,name = "cumpleaños",format = DateFormat.date) 
    private Fecha de cumpleaños; 
}
   

Paso 4 Configurar la interfaz del mapeador

interfaz pública UserinfosMapper extiende ElasticsearchRepository<Userinfos,String> { 
}

Paso 5: configurar la consulta de prueba

@SpringBootTest 
class Es05ApplicationTests { 
    @Resource 
    private UserinfosMapper userinfosMapper; 

    @Test 
    void contextLoads() { 

        //La primera consulta basada en id 
// Opcional<Userinfos> op = userinfosMapper.findById("222"); 
        //Si está vacío, no se informará ningún error 
// op.ifPresent(a-> System.out.println(a)); 
// System.out.println(op.get()); 





        //La segunda consulta difusa 
        MatchQueryBuilder qbmq = QueryBuilders. matchQuery("username ", "Zhang Wuji"); 

        Iterable<Userinfos> search = userinfosMapper.search(qbmq); 
        //el método lamda se refiere a los resultados transversales 
        search.forEach(System.out::println); 

    } 

}

¡Ver resultados!

 

 

Supongo que te gusta

Origin blog.csdn.net/just_learing/article/details/126440534
Recomendado
Clasificación