POST /mabibli/_doc/
{
"<fieldname>": "<value>",
...
}
Chercher un livre sur http://lalibrairie.com
écrire un fichier JSON pour décrire le livre avec:
Choisissez un nom simple pour votre bibliothèque.
Ajoutez ce livre à votre bibliothèque dans Kibana à l’aide de la documentation de l’API : https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html
POST /<votre_bibli>/_doc/1
<DATA>
Dans la vue devtools:
POST /mabibli/_doc/1
{
"title": "Awesome Thriller",
"author": "Stephen King", // pas de guillemets
"description": "\"Un roman haletant\"",
"price": 9.80
}
Dans la vue Devtools et à l’aide de votre feuille de mémo de l’API :
GET /mabibli/_doc/1/
POST /mabibli/_update/1
{
"doc": {
"price": 19.80
}
}
POST /mabibli/_doc/
{
"title": "Awesome Thriller 2",
"author": "Stephen King", // pas de guillemets
"description": "\"Un roman succulent\"",
"price": 9.80
}
POST /mabibli/_doc
{
"title": "Awesome Thriller 3",
"author": "Stephen Boring", // pas de guillemets
"description": "\"Un roman ennuyant\"",
"price": 11.80
}
GET /mabibli/_search
GET /_cat/indices
DELETE /mabibli/_doc/Ekd8E2cBVH8Nz7YD6zUt
supprimer votre index
Cherchez dans la documentation comment ajouter un mapping
Décrivez en JSON les propriétés suivantes pour ce mapping en choisissant les types: title, description, author, price, ISBN/EAN, weight
Ajoutez le mapping. Indication : il faut un nouvel index d’abord
DELETE /mabibli
utilisez un moteur de recherche : https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html
description du mapping
{
"properties": {
"title": {
"type": "text"
},
"author": {
"type": "text"
},
...
}
PUT /mabibli
{
"settings": {
"index": {
"number_of_shards": 1,
"number_of_replicas": 0
}
}
}
PUT /mabibli/_mapping
{
"properties": {
"title": {
"type": "text"
},
"author": {
"type": "text"
},
...
}
}
POST /mabibli/_doc/
{
"title": "Awesome Thriller",
"author": "Stephen King",
"description": "\"Un roman alletant\"",
...
}
POST /mabibli/_update/<id>
{
"doc": {
"ISBN": 9782369350804
}
}
problème: l’ISBN est trop grand pour rentrer dans un integer normal. Il faut un type long
Ajoutons un nouveau champ car sinon il faudrait réindexer (changer le mapping, le type du champ ISBN
)
PUT /mabibli/_mapping/
{
"properties": {
"ISBN2": {
"type": "long"
}
}
}
vagrant ssh <nom-du-noeud>
l’adresse de elasticsearch est 0.0.0.0:9200
curl --help
, cherchez le nom de l’option longue correspondant à -d
(un petit grep ?)curl -X<METHOD> http://0.0.0.0:9200 -d '<JSON>'
Avec la vue Devtools:
GET /kibana_sample_data_flights/_doc/_search
{
"query" : {
"term": {
"Carrier": "ES-Air"
}
}
}
GET /kibana_sample_data_flights/_doc/_search
{
"query" : {
"match": {
"Dest": "New"
}
}
}