elasticsearch entrada (D): elasticsearch datos de operación simple

formato de datos 1.document

El análisis del motor de búsqueda orientada a documentos

  1. Estructura de datos del sistema de aplicación es un orientado a objetos, complejo
  2. datos de objetos almacenados en la base de datos, sólo para desmantelar, se convierte en planos múltiples mesas, cada vez que la consulta tuvo que volver a formato de objeto, engorroso
  3. ES es una estructura de datos orientado a documento almacenado en el documento, la estructura de datos orientado a objetos es el mismo, los datos del documento en base a esta estructura, ES proporcionan indexación sofisticado, recuperación de texto completo, análisis y otras funciones de polimerización
  4. es JSON formato de datos de un documento para expresar
  5. La diferencia entre una base de datos almacenada
    por ejemplo, ahora tiene una plantilla de clase, el personal incluido en su departamento
	public class Employee {
		  private String id;
		  private String email;
		  private String name;
		  private Department department ;
	
	}
	private class Department {
	  	 private String id;
	 	 private String name; 
	}

Dos tablas: los empleados, mesa de departamento,
las tiendas de base de datos: los datos del objeto empleado para volver a abrir, y los datos del empleado en el Departamento de datos
tabla de empleados: ID, correo electrónico, nombre, apellidos 3 campos
de mesa Departamento: Identificación, nombre , dos campos
de datos almacenados formato JSON directamente en la memoria elastcsearch

{
    "id":1
    "email":      "[email protected]",
    "name": "zhangsan",
    "department": {
        "id":       2,
        "name": "研发"
    }
}

Somos conscientes de la diferencia entre formatos de datos relacionales es de los formatos de datos de documentos y bases de datos

2.elasticsearch operación de clúster sencillo

ES proporciona un conjunto de API, llamada a la API gato, ES se pueden ver en una variedad de datos

  1. Una revisión rápida del grupo de salud (GET / _cat / salud? V)
época fecha y hora racimo estado node.total node.data fragmentos en reloj en eso desasignar tareas pendientes max_task_wait_time active_shards_percent
1553323665 14:47:45 elasticsearch amarillo 1 1 1 1 0 0 1 0 - 50%

¿Cómo entender rápidamente el estado de salud de la agrupación? Mirada de estado
verde: Cada índice del fragmento primario y un fragmento de réplica es el estado activo de
color amarillo: Cada índice del fragmento primario es el estado activo, pero algunos fragmento de réplica no es estado activo, en un estado inutilizable de
rojo: No todo el índice el fragmento primario es el estado activo, parte de los datos de índice se pierde

¿Por qué ahora en un estado de color amarillo?
Ahora estamos en un ordenador portátil, se inició un proceso es, el equivalente a un solo nodo. ES ahora tienen un índice, es Kibana propio índice construido establecida. Puesto que la configuración predeterminada se asigna fragmento primario 5 y 5 para cada índice fragmento de réplica, y fragmento primario y fragmento de réplica no puede estar en la misma máquina (para tolerancia a fallos). Ahora índice Kibana para establecer su propia es un fragmento primario y un fragmento de réplica. Actualmente en un nodo, por lo que sólo un fragmento primario está asignado y activado, pero no un fragmento de réplica para iniciar la segunda máquina.

A continuación, sólo iniciar el segundo proceso es, una copia elasticsearch empezar, habrá dos nodos en el racimo es, y que un fragmento de réplica se asigna automáticamente en el pasado, y luego del estado del clúster se convierte en estado verde.

época fecha y hora racimo estado node.total node.data fragmentos en reloj en eso desasignar tareas pendientes max_task_wait_time active_shards_percent
1553324486 15:01:26 elasticsearch verde 2 2 2 1 0 0 0 0 - 100%
  1. Para ver rápidamente qué índice (GET / _cat / índices? V) hay un grupo
salud estado índice uuid en reps docs.count docs.deleted store.size ri.store.size
amarillo abierto .kibana rUm9n9wMRQCCrRDEhqneBg 1 1 1 0 3.1kb 3.1kb
  1. La operación simple de indexación

    1. Crear un índice: PUT / test_index
    {
      "acknowledged": true,
      "shards_acknowledged": true
    }
    

    Ver índice:

    salud estado índice uuid en reps docs.count docs.deleted store.size pri.store.size
    amarillo abierto test_index XmS9DTAtSkSZSwWhhGEKkQ 5 1 0 0 650b 650b
    amarillo abierto .kibana rUm9n9wMRQCCrRDEhqneBg 1 1 1 0 3.1kb 3.1kb
    1. Índice Borrar: borrar / test_index bonita?
       	{
    	  "acknowledged": true
    	}
    

    Ver índice:

    alud estado índice uuid en reps docs.count docs.deleted store.size pri.store.size
    ellow abierto .kibana rUm9n9wMRQCCrRDEhqneBg 1 1 1 0 3.1kb 3.1kb

3.elasticsearch 的 CRUD

  1. Nuevo producto: Nuevos documentos, indexación
    sintaxis:
PUT /index/type/id
{
  "json数据"
}
例子
PUT /ecommerce/product/1
{
    "name" : "gaolujie yagao",
    "desc" :  "gaoxiao meibai",
    "price" :  30,
    "producer" :      "gaolujie producer",
    "tags": [ "meibai", "fangzhu" ]
}

return resultado:

{
  "_index": "ecommerce",
  "_type": "product",
  "_id": "1",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "created": true
}

ES creará automáticamente índice y escribir, sin necesidad de crear de antemano, y el ES defecto documentarán cada campo se construyen índice invertido, de modo que pudiera ser buscado

  1. Las consultas Productos: recuperar documentos

sintaxis:

GET /index/type/id

Por ejemplo:

GET /ecommerce/product/1

return resultado:

{
  "_index": "ecommerce",
  "_type": "product",
  "_id": "1",
  "_version": 1,
  "found": true,
  "_source": {        //_source是返回的数据
    "name": "gaolujie yagao",
    "desc": "gaoxiao meibai",
    "price": 30,
    "producer": "gaolujie producer",
    "tags": [
      "meibai",
      "fangzhu"
    ]
  }
}
  1. modificación
    1. Reemplazar (sobrescribir) el mismo id sobrescribirá la información anterior en
  	PUT /ecommerce/product/1
  	{
  	    "name" : "jiaqiangban gaolujie yagao",
  	    "desc" :  "gaoxiao meibai",
  	    "price" :  30,
  	    "producer" :      "gaolujie producer",
  	    "tags": [ "meibai", "fangzhu" ]
  	}
		{
		     "_index": "ecommerce",
		     "_type": "product",
		     "_id": "1",
		     "_version": 2,
		     "result": "updated",
		     "_shards": {
			    "total": 2,
			    "successful": 1,
			    "failed": 0
		    },
		  "created": false
		}

No es una alternativa buena, incluso si tiene que llevar todo el campo, con el fin de modificar la información, de lo contrario, almacenar parte de la información con otra pérdida de datos

  1. Modificar las mercancías: Documento actualizado
    sintaxis:
POST /index/type/id/_update

Por ejemplo:

	POST /ecommerce/product/1/_update
	{
	  "doc": {
	    "name": "jiaqiangban gaolujie yagao"
	  }
	}
	{
	  "_index": "ecommerce",
	  "_type": "product",
	  "_id": "1",
	  "_version": 8,
	  "result": "updated",
	  "_shards": {
	    "total": 2,
	    "successful": 1,
	    "failed": 0
	  }
	}
  1. Quitar elementos: Eliminar el documento
    sintaxis:
DELETE /index/type/id

Por ejemplo:

DELETE /ecommerce/product/1

Volver a los resultados

{
  "found": true,
  "_index": "ecommerce",
  "_type": "product",
  "_id": "1",
  "_version": 9,
  "result": "deleted",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  }
}
Publicado 40 artículos originales · ganado elogios 9 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/aawmx123/article/details/88761650
Recomendado
Clasificación