-
-
Save dadoonet/f911291c4dd19b0802031db3064c648f to your computer and use it in GitHub Desktop.
Demo script for BBLs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DELETE mon_index | |
DELETE person | |
GET / | |
#### 1ST PART CRUD | |
DELETE person | |
# Create the first doc | |
PUT person/_doc/david | |
{ | |
"name" : "David Pilato" | |
} | |
GET person/_doc/david | |
# Update the doc | |
PUT person/_doc/david | |
{ | |
"name" : "David Pilato", | |
"address" : { | |
"city": "Cergy" | |
} | |
} | |
GET person/_doc/david | |
# Remove the doc | |
DELETE person/_doc/david | |
GET person/_doc/david | |
# Create some documents (like 10) | |
POST person/_doc/ | |
{ | |
"name" : "David Pilato", | |
"comments": "Ici c'est Cergy" | |
} | |
# Create some documents (like 3) | |
POST person/_doc/ | |
{ | |
"name" : "David Pilato", | |
"comments": "Ici c'est Cergy Pontoise" | |
} | |
# Create one or 2 docs | |
POST person/_doc/ | |
{ | |
"name" : "David Pilato", | |
"comments": "Ici c'est Pontoise" | |
} | |
#### SEARCH | |
# Search all (and from/size) | |
GET person/_search | |
GET person/_search | |
{ | |
"query": { | |
"match": { | |
"comments": "cergy" | |
} | |
} | |
} | |
GET person/_search | |
{ | |
"query": { | |
"match": { | |
"comments": "CERGY!" | |
} | |
} | |
} | |
GET person/_search | |
{ | |
"query": { | |
"match": { | |
"comments": "Cergy Pontoise" | |
} | |
} | |
} | |
#### 2nd Part: INJECTOR | |
# Inject data | |
# Run aggregations | |
# Play in Kibana | |
# Show monitoring | |
# Scale Out | |
DELETE person | |
GET person/_search?track_total_hits=true | |
# Back To Slides | |
#### 3RD PART ANALYZE | |
POST _analyze | |
{ | |
"text": [ "The quick brown fox jumps over the lazy Dog!" ] | |
} | |
POST _analyze | |
{ | |
"analyzer": "english", | |
"text": [ "The quick brown fox jumps over the lazy Dog!" ] | |
} | |
# Start with ... And add the other filters | |
POST _analyze | |
{ | |
"tokenizer": "standard", | |
"filter": [ | |
], | |
"text": [ "L'éléphant est ROSE et il trompe énormément !" ] | |
} | |
POST _analyze | |
{ | |
"explain": true, | |
"tokenizer": "standard", | |
"filter": [ | |
"lowercase", | |
{"type": "stop", "stopwords": [ "_french_" ]}, | |
{"type": "elision", "articles" : ["l", "m", "t", "qu", "n", "s", "j"]}, | |
"asciifolding" , | |
{"type": "stemmer", "name": "light_french"} | |
], | |
"text": [ "L'éléphant est ROSE et il trompe énormément !" ] | |
} | |
POST _analyze | |
{ | |
"analyzer": "french", | |
"text": [ "L'éléphant est ROSE et il trompe énormément !" ] | |
} | |
## Not so light | |
POST _analyze | |
{ | |
"tokenizer": "standard", | |
"filter": [ | |
"lowercase", | |
{"type": "stop", "stopwords": [ "_french_" ]}, | |
{"type": "elision", "articles" : ["l", "m", "t", "qu", "n", "s", "j"]}, | |
"asciifolding" , | |
{"type": "stemmer", "name": "french"} | |
], | |
"text": [ "L'éléphant est ROSE et il trompe énormément !" ] | |
} | |
POST _analyze | |
{ | |
"tokenizer": "standard", | |
"filter": [ | |
"lowercase", | |
{"type": "stop", "stopwords": [ "_french_" ]}, | |
{"type": "elision", "articles" : ["l", "m", "t", "qu", "n", "s", "j"]}, | |
"asciifolding" , | |
{"type": "stemmer", "name": "french"} | |
], | |
"text": [ "Des éléphantes" ] | |
} | |
## Bizarre ? | |
POST _analyze | |
{ | |
"analyzer": "french", | |
"text": [ "Un avion" ] | |
} | |
POST _analyze | |
{ | |
"analyzer": "french", | |
"text": [ "Des avions" ] | |
} | |
## Ngrams | |
POST _analyze | |
{ | |
"tokenizer": "standard", | |
"filter": [ | |
{"type": "edge_ngram", "min_gram" : 2, "max_gram" : 5} | |
], | |
"text": [ "eleph" ] | |
} | |
POST _analyze | |
{ | |
"tokenizer": "standard", | |
"filter": [ | |
{"type": "ngram", "min_gram" : 2, "max_gram" : 3} | |
], | |
"text": [ "eleph" ] | |
} | |
DELETE mon_index | |
PUT mon_index | |
{ | |
"settings": { | |
"number_of_shards": 1, | |
"number_of_replicas": 0, | |
"analysis": { | |
"analyzer": { | |
"francais": { | |
"type": "custom", | |
"tokenizer": "standard", | |
"filter": [ | |
"lowercase", | |
"stop_francais", | |
"fr_stemmer", | |
"asciifolding", | |
"elision" | |
] | |
}, | |
"autocomplete": { | |
"type": "custom", | |
"tokenizer": "standard", | |
"filter": [ | |
"elision", | |
"lowercase", | |
"asciifolding", | |
"autocomplete" | |
] | |
} | |
}, | |
"filter": { | |
"stop_francais": { | |
"type": "stop", | |
"stopwords": [ | |
"_french_", | |
"twitter" | |
] | |
}, | |
"fr_stemmer": { | |
"type": "stemmer", | |
"name": "french" | |
}, | |
"elision": { | |
"type": "elision", | |
"articles": [ | |
"l", | |
"m", | |
"t", | |
"qu", | |
"n", | |
"s", | |
"j", | |
"d", | |
"lorsqu" | |
] | |
}, | |
"autocomplete": { | |
"type": "edge_ngram", | |
"min_gram": 2, | |
"max_gram": 5 | |
} | |
} | |
} | |
}, | |
"mappings": { | |
"properties": { | |
"description": { | |
"type": "text", | |
"analyzer": "francais" | |
}, | |
"username": { | |
"type": "text", | |
"analyzer": "autocomplete", | |
"search_analyzer": "simple" | |
}, | |
"city": { | |
"type": "text", | |
"analyzer": "francais", | |
"fields": { | |
"autocomplete": { | |
"type": "text", | |
"analyzer": "autocomplete", | |
"search_analyzer": "simple" | |
}, | |
"keyword": { | |
"type": "keyword" | |
} | |
} | |
} | |
} | |
} | |
} | |
POST mon_index/_analyze | |
{ | |
"text": [ "Cergy", "Cénac" ], | |
"analyzer": "autocomplete" | |
} | |
POST mon_index/_analyze | |
{ | |
"text": [ "Cer" ], | |
"analyzer": "autocomplete" | |
} | |
POST mon_index/_analyze | |
{ | |
"text": [ "Cer" ], | |
"analyzer": "simple" | |
} | |
POST mon_index/_analyze | |
{ | |
"text": [ "J'habite à Cergy" ], | |
"analyzer": "francais" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment