Elasticsearch

Transcription

Elasticsearch#elasticsearch

Table des matièresÀ propos1Chapitre 1: Démarrer avec r Elasticsearch sur Ubuntu 14.043Conditions préalables3Télécharger et installer le paquet3Exécuter en tant que service sous Linux:4Installation d'Elasticsearch sous Windows4Conditions préalables4Exécuter à partir du fichier de commandes5Exécuter en tant que service Windows5Indexer et récupérer un documentDocuments d'indexation77Indexation sans identifiant7Récupération de documents8Paramètres de recherche de base avec des exemples:10Installer Elasticsearch et Kibana sur CentOS 713Chapitre 2: Agrégations15Syntaxe15Examples15Agrégation moyenne15Agrégation de cardinalité15Agrégation étendue des statistiques16Chapitre 3: Analyseurs18Remarques18Examples18Cartographie18

Multi-champs18Analyseurs19Ignorer l'analyseur de cas20Chapitre 4: API de recherche22Introduction22Examples22Le routage22Rechercher en utilisant le corps de la requête22Multi recherche22Recherche d'URI et mise en évidence23Chapitre 5: Apprendre Elasticsearch avec kibana24Introduction24Examples24Explorez votre cluster à l'aide de Kibana24Modifier vos données elasticsearch25Chapitre 6: Commandes Curl28Syntaxe28Examples28Commande Curl pour compter le nombre de documents dans le cluster28Récupérer un document par identifiant29Créer un index29Liste tous les indices29Supprimer un index29Liste tous les documents d'un index30Chapitre 7: Configuration Elasticsearch31Remarques31Où sont les paramètres?31Quels types de paramètres existent?32Comment puis-je appliquer les paramètres?33Examples34Paramètres statiques d'Elasticsearch34Paramètres de cluster dynamique persistants34

Paramètres de cluster dynamique transitoire35Paramètres d'index36Paramètres d'index dynamique pour plusieurs indices en même temps37Chapitre 8: Différence entre les bases de données relationnelles et Elasticsearch39Introduction39Examples39Différence terminologique39Cas d'utilisation où les bases de données relationnelles ne conviennent pas40Chapitre 9: Différence entre les indices et les types44Remarques44Tout sur les types44Questions courantes46Exceptions à la règle47Examples47Créer explicitement un index avec un type47Création dynamique d'un index avec un type48Chapitre 10: Grappe51Remarques51Examples52Cluster Health sous forme de tableau, lisible par l'homme, avec en-têtes52Cluster Health, sous forme de tableau, lisible par l'homme, sans en-têtes52Cluster Health sous forme de tableau, lisible par l'homme, avec en-têtes sélectionnés53Santé des clusters basée sur JSON54Chapitre 11: Interface Python55Paramètres55Examples55Indexer un document (c.-à-d. Ajouter un échantillon)55Connexion à un cluster56Créer un index vide et définir le mappage56Mise à jour partielle et mise à jour par requête57Crédits58

À proposYou can share this PDF with anyone you feel could benefit from it, downloaded the latest versionfrom: elasticsearchIt is an unofficial and free Elasticsearch ebook created for educational purposes. All the content isextracted from Stack Overflow Documentation, which is written by many hardworking individuals atStack Overflow. It is neither affiliated with Stack Overflow nor official Elasticsearch.The content is released under Creative Commons BY-SA, and the list of contributors to eachchapter are provided in the credits section at the end of this book. Images may be copyright oftheir respective owners unless otherwise specified. All trademarks and registered trademarks arethe property of their respective company owners.Use the content presented in this book at your own risk; it is not guaranteed to be correct noraccurate, please send your feedback and corrections to e1

Chapitre 1: Démarrer avec ElasticsearchRemarquesElasticsearch est un serveur de recherche open source avancé basé sur Lucene et écrit en Java.Il fournit des fonctionnalités de recherche distribuées, en texte intégral ou partiel, basées sur larequête et la géolocalisation, accessibles via une API HTTP REST.VersionsVersionDate de fr/home2

VersionDate de ler Elasticsearch sur Ubuntu 14.04Conditions préalablesPour exécuter Elasticsearch, un environnement d'exécution Java (JRE) est requis sur la machine.Elasticsearch nécessite Java 7 ou supérieur et recommande Oracle JDK version 1.8.0 73 .Installez Oracle Java 8sudo add-apt-repository -y ppa:webupd8team/javasudo apt-get updateecho "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" sudo debconfset-selectionssudo apt-get install -y oracle-java8-installerVérifier la version de Javajava -versionTélécharger et installer le paquetUtiliser des binaires1. Téléchargez la dernière version stable d'Elasticsearch ici .2. Décompressez le fichier et exécutezLinux: bin/elasticsearchUtiliser apt-getUne alternative à télécharger elasticsearch à partir du site Web est de l’installer, en utilisant aptget .wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch sudo apt-key add echo "deb an stable main" sudo tee tps://riptutorial.com/fr/home3

sudo apt-get update && sudo apt-get install elasticsearchsudo /etc/init.d/elasticsearch startInstallation d'elasticsearch version 5.xwget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo apt-key add sudo apt-get install apt-transport-httpsecho "deb https://artifacts.elastic.co/packages/5.x/apt stable main" sudo tee -a/etc/apt/sources.list.d/elastic-5.x.listsudo apt-get update && sudo apt-get install elasticsearchExécuter en tant que service sous Linux:Après l'installation, ce qui précède ne se lance pas. nous devons donc le démarrer en tant queservice. Comment démarrer ou arrêter Elasticsearch selon que votre système utilise SysV init ousystemd. vous pouvez le vérifier avec la commande suivante.ps -p 1Si votre distribution utilise SysV init, vous devrez exécuter:sudo update-rc.d elasticsearch defaults 95 10sudo /etc/init.d/elasticsearch startSinon, si votre distribution utilise systemd:sudo /bin/systemctl daemon-reloadsudo /bin/systemctl enable elasticsearch.serviceExécutez la commande CURL partir de votre navigateur ou d'un client REST pour vérifier siElasticsearch a été correctement installé.curl -X GET http://localhost:9200/Installation d'Elasticsearch sous WindowsConditions préalablesLa version Windows d'Elasticsearch peut être obtenue à partir de ce h . La dernière version stable est toujours au top.Comme nous installons sous Windows, nous avons besoin de l’archive .ZIP . Cliquez sur le liendans la section Downloads: enregistrez le fichier sur votre ordinateur.Cette version d'Elastic est "portable", ce qui signifie que vous n'avez pas besoin de lancer unhttps://riptutorial.com/fr/home4

programme d'installation pour utiliser le programme. Décompressez le contenu du fichier dans unendroit facile à mémoriser. Pour démonstration, nous supposerons que tout est décompressé enC:\elasticsearch .Notez que l'archive contient un dossier nommé elasticsearch- version par défaut, vous pouvezsoit extraire ce dossier dans C:\ et le renommer en elasticsearch soit créer C:\elasticsearch vousmême, puis décompresser uniquement le contenu du dossier dans l'archive. à làElasticsearch étant écrit en Java, il a besoin de Java Runtime Environment pour fonctionner.Donc, avant d'exécuter le serveur, vérifiez si Java est disponible en ouvrant une invite decommande et en tapant:java -versionVous devriez avoir une réponse qui ressemble à ceci:java version "1.8.0 91"Java(TM) SE Runtime Environment (build 1.8.0 91-b14)Java HotSpot(TM) Client VM (build 25.91-b14, mixed mode)Si vous voyez ce qui suit à la place"java" n'est pas reconnu comme une commande interne ou externe, un programmeutilisable ou un fichier de commandes.Java n'est pas installé sur votre système ou n'est pas configuré correctement. Vous pouvez suivrece tutoriel pour (ré) installer Java. Assurez-vous également que ces variables d'environnementsont définies sur des valeurs similaires:VariableValeurJAVA HOMEC: \ Program Files \ Java \ jreCHEMIN ; C: \ Program Files \ Java \ jreSi vous ne savez pas encore comment inspecter ces variables, consultez ce tutoriel .Exécuter à partir du fichier de commandesAvec Java installé, ouvrez le dossier bin . Il peut être trouvé directement dans le dossier verslequel vous avez décompressé le tout, il devrait donc être sous c:\elasticsearch\bin . Dans cedossier se trouve un fichier appelé elasticsearch.bat qui peut être utilisé pour démarrerElasticsearch dans une fenêtre de commande. Cela signifie que les informations consignées parle processus seront visibles dans la fenêtre d'invite de commandes. Pour arrêter le serveur,appuyez sur CTRL C ou fermez simplement la fenêtre.https://riptutorial.com/fr/home5

Exécuter en tant que service WindowsIdéalement, vous ne voulez pas avoir une fenêtre supplémentaire dont vous ne pouvez vousdébarrasser pendant le développement, et pour cette raison, Elasticsearch peut être configurépour s'exécuter en tant que service.Avant de pouvoir installer Elasticsearch en tant que service, nous devons ajouter une ligne aufichier C:\elasticsearch\config\jvm.options :Le programme d'installation du service nécessite que le paramètre de taille de la pilede threads soit configuré dans jvm.options avant d'installer le service. Sur Windows 32bits, vous devez ajouter -Xss320k [ ] et sur Windows 64 bits, vous devez ajouter -Xss1mau fichier jvm.options . [la source]Une fois cette modification effectuée, ouvrez une invite de commande et accédez au répertoire binen exécutant la commande suivante:C:\Users\user cd c:\elasticsearch\binLa gestion des services est gérée par elasticsearch-service.bat . Dans les anciennes versions, cefichier pourrait simplement s'appeler service.bat . Pour voir tous les arguments disponibles,exécutez-le sans aucun:C:\elasticsearch\bin elasticsearch-service.batUsage: elasticsearch-service.bat install remove start stop manager [SERVICE ID]La sortie nous indique également qu'il existe un argument SERVICE ID facultatif, mais nous pouvonsl'ignorer pour l'instant. Pour installer le service, exécutez simplement:C:\elasticsearch\bin elasticsearch-service.bat installAprès avoir installé le service, vous pouvez le démarrer et l'arrêter avec les arguments respectifs.Pour démarrer le service, exécutezC:\elasticsearch\bin elasticsearch-service.bat startet pour l'arrêter, courezC:\elasticsearch\bin elasticsearch-service.bat stopSi vous préférez une interface graphique pour gérer le service à la place, vous pouvez utiliser lacommande suivante:C:\elasticsearch\bin elasticsearch-service.bat managerhttps://riptutorial.com/fr/home6

Cela ouvrira Elastic Service Manager, qui vous permet de personnaliser certains paramètres liésau service et d’arrêter / démarrer le service à l’aide des boutons situés en bas du premier onglet.Indexer et récupérer un documentElasticsearch est accessible via une API HTTP REST, généralement via la bibliothèque cURL.Les messages entre le serveur de recherche et le client (votre ou votre application) sont envoyéssous la forme de chaînes JSON. Par défaut, Elasticsearch s'exécute sur le port 9200.Dans les exemples ci-dessous, ?pretty est ajouté pour indiquer à Elasticsearch de préciser laréponse JSON. Lorsque vous utilisez ces points de terminaison dans une application, vous n'avezpas besoin d'ajouter ce paramètre de requête.Documents d'indexationSi nous avons l'intention de mettre à jour les informations dans un index ultérieurement, nousvous conseillons d'attribuer des identifiants uniques aux documents que vous indexez. Pourajouter un document à l'index nommé megacorp , avec type employee et ID 1 exécutez:curl -XPUT "http://localhost:9200/megacorp/employee/1?pretty" -d'{"first name" : "John","last name" : "Smith","age" :25,"about" :"I love to go rock climbing","interests": [ "sports", "music" ]}'Réponse:{" index": "megacorp"," type": "employee"," id": "1"," version": 1," shards": {"total": 2,"successful": 1,"failed": 0},"created": true}L'index est créé s'il n'existe pas lorsque nous envoyons l'appel PUT.Indexation sans identifiantPOST fr/home7

"first name" :"last name" :"age" :"about" :"interests": ["Jane","Smith",32,"I like to collect rock albums","music" ]}Réponse:{" index": "megacorp"," type": "employee"," id": "AVYg2mBJYy9ijdngfeGa"," version": 1," shards": {"total": 2,"successful": 2,"failed": 0},"created": true}Récupération de documentscurl -XGET Réponse:{" index": "megacorp"," type": "employee"," id": "1"," version": 1,"found": true," source": {"first name": "John","last name": "Smith","age": 25,"about": "I love to go rock climbing","interests": ["sports","music"]}}Récupérez 10 documents à partir de l'index megacorp avec le type employee :curl -XGET "http://localhost:9200/megacorp/employee/ home8

{"took": 2,"timed out": false," shards": {"total": 5,"successful": 5,"failed": 0},"hits": {"total": 2,"max score": 1,"hits": [{" index": "megacorp"," type": "employee"," id": "1"," score": 1," source": {"first name": "John","last name": "Smith","age": 25,"about": "I love to go rock climbing","interests": ["sports","music"]}},{" index": "megacorp"," type": "employee"," id": "AVYg2mBJYy9ijdngfeGa"," score": 1," source": {"first name": "Jane","last name": "Smith","age": 32,"about": "I like to collect rock albums","interests": ["music"]}}]}}Recherche simple à l'aide de la requête de match , qui recherche des correspondances exactesdans le champ fourni:curl -XGET "http://localhost:9200/megacorp/employee/ search" -d'{"query" : {"match" : {"last name" : "Smith"}}}'https://riptutorial.com/fr/home9

Réponse:{"took": 2,"timed out": false," shards": {"total": 5,"successful": 5,"failed": 0},"hits": {"total": 1,"max score": 0.6931472,"hits": [{" index": "megacorp"," type": "employee"," id": "1"," score": 0.6931472," source": {"first name": "John","last name": "Smith","age": 25,"about": "I love to go rock climbing","interests": ["sports","music"]}}]}}Paramètres de recherche de base avec des exemples:Par défaut, le document indexé complet est renvoyé dans le cadre de toutes les recherches. C'estce que l'on appelle la source (champ source dans les résultats de recherche). Si nous ne voulonspas que tout le document source soit retourné, nous avons la possibilité de ne demander quequelques champs de la source à retourner, ou nous pouvons définir source sur false pour omettrecomplètement le champ.Cet exemple montre comment retourner deux champs, account number et balance (à l'intérieur desource ), à partir de la recherche:curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": { "match all": {} }," source": ["account number", "balance"]}'Notez que l'exemple ci-dessus réduit simplement les informations renvoyées dans le champsource . Il ne renverra toujours qu'un seul champ nommé source mais seuls les champsaccount number et balance seront inclus.https://riptutorial.com/fr/home10

Si vous venez d'un arrière-plan SQL, le concept ci-dessus est quelque peu similaire à la requêteSQLSELECT account number, balance FROM bank;Passons maintenant à la partie requête. Auparavant, nous avons vu comment la requête match allest utilisée pour faire correspondre tous les documents. Introduisons maintenant une nouvellerequête appelée la requête de correspondance, qui peut être considérée comme une requête derecherche par champs de base (c'est-à-dire une recherche effectuée sur un champ ou unensemble de champs spécifique).Cet exemple renvoie le compte avec le account number défini à 20 :curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": { "match": { "account number": 20 } }}'Cet exemple renvoie tous les comptes contenant le terme "moulin" dans l' address :curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": { "match": { "address": "mill" } }}'Cet exemple renvoie tous les comptes contenant le terme "moulin" ou "voie" dans l' address :curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": { "match": { "address": "mill lane" } }}'Cet exemple est une variante de match ( match phrase ) qui divise la requête en termes et nerenvoie que les documents contenant tous les termes de l' address dans les mêmes positions lesuns par rapport aux autres [1] .curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": { "match phrase": { "address": "mill lane" } }}'Introduisons maintenant la requête bool (ean). La requête bool nous permet de composer desrequêtes plus petites en requêtes plus grandes en utilisant la logique booléenne.Cet exemple compose deux requêtes de correspondance et renvoie tous les comptes contenant"mill" et "lane" dans l'adresse:curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": {https://riptutorial.com/fr/home11

"bool": {"must": [{ "match": { "address": "mill" } },{ "match": { "address": "lane" } }]}}}'Dans l'exemple ci-dessus, la clause bool must spécifie toutes les requêtes devant être vraies pourqu'un document soit considéré comme une correspondance.En revanche, cet exemple compose deux requêtes de correspondance et renvoie tous lescomptes contenant "mill" ou "lane" dans l' address :curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": {"bool": {"should": [{ "match": { "address": "mill" } },{ "match": { "address": "lane" } }]}}}'Dans l'exemple ci-dessus, la clause bool should spécifie une liste de requêtes dont l'une ou l'autredoit être vraie pour qu'un document soit considéré comme une correspondance.Cet exemple compose deux requêtes de correspondance et renvoie tous les comptes qui necontiennent ni "mill" ni "lane" dans l' address :curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": {"bool": {"must not": [{ "match": { "address": "mill" } },{ "match": { "address": "lane" } }]}}}'Dans l'exemple ci-dessus, la clause bool must not spécifie une liste de requêtes dont aucune nedoit être vraie pour qu'un document soit considéré comme une correspondance.Nous pouvons combiner des clauses must, should et must not simultanément dans une requêtebool. De plus, nous pouvons composer des requêtes bool dans chacune de ces clauses bool pourimiter toute logique booléenne complexe à plusieurs niveaux.Cet exemple renvoie tous les comptes appartenant à des personnes qui ont exactement 40 ans etne vivent pas à Washington ( WA en abrégé):https://riptutorial.com/fr/home12

curl -XPOST 'localhost:9200/bank/ search?pretty' -d '{"query": {"bool": {"must": [{ "match": { "age": "40" } }],"must not": [{ "match": { "state": "WA" } }]}}}'Installer Elasticsearch et Kibana sur CentOS 7Pour exécuter Elasticsearch, un environnement d'exécution Java (JRE) est requis sur la machine.Elasticsearch nécessite Java 7 ou supérieur et recommande Oracle JDK version 1.8.0 73 .Alors, assurez-vous d'avoir Java dans votre système. Sinon, suivez la procédure:# Install wget with yumyum -y install wget# Download the rpm jre-8u60-linux-x64.rpm for 64 bitwget --no-cookies --no-check-certificate --header "Cookie:gpw e24 http%3A%2F%2Fwww.oracle.com%2F; oraclelicense rpm"# Download the rpm jre-8u101-linux-i586.rpm for 32 bitwget --no-cookies --no-check-certificate --header "Cookie:gpw e24 http%3A%2F%2Fwww.oracle.com%2F; oraclelicense 86.rpm"# Install jre-.*.rpmrpm -ivh jre-.*.rpmJava devrait maintenant être installé dans votre système centOS. Vous pouvez le vérifier avec:java -versionTéléchargez et installez elasticsearch# Download ibution/rpm/elasticsearch/2.3.2.3.5.rpm# Install elasticsearch-.*.rpmrpm -ivh elasticsearch-.*.rpmExécuter elasticsearch en tant que service systemd au démarragesudo systemctl daemon-reloadhttps://riptutorial.com/fr/home13

sudo systemctl enable elasticsearchsudo systemctl start elasticsearch# check the current status to ensure everything is okay.systemctl status elasticsearchInstaller KibanaImporter d'abord la clé GPG sur le rpmsudo rpm --import suite, créez un dépôt local kibana.reposudo vi /etc/yum.repos.d/kibana.repoEt ajoutez le contenu suivant:[kibana-4.4]name Kibana repository for 4.4.x packagesbaseurl ck 1gpgkey abled 1Installez maintenant le kibana en suivant la commande suivante:yum -y install kibanaCommencez avec:systemctl start kibanaVérifier l'état avec:systemctl status kibanaVous pouvez l'exécuter en tant que service de démarrage.systemctl enable kibanaLire Démarrer avec Elasticsearch en ial.com/fr/home14

Chapitre 2: AgrégationsSyntaxe ". - [, "agrégations": {[ sub aggregation ] }]? -} - [, " nom agrégation 2 ": {.}] * -}ExamplesAgrégation moyenneIl s'agit d'une agrégation de mesures à valeur unique qui calcule la moyenne des valeursnumériques extraites des documents agrégés.POST /index/ search?{"aggs" : {"avd value" : { "avg" : { "field" : "name of field" } }}}L'agrégation ci-dessus calcule la note moyenne sur tous les documents. Le type d'agrégation estmoy et le paramètre de champ définit le champ numérique des documents sur lesquels lamoyenne sera calculée. Ce qui précède renverra ce qui suit:{."aggregations": {"avg value": {"value": 75.0}}}Le nom de l'agrégation (avg grade ci-dessus) sert également de clé permettant d'extraire lerésultat de l'agrégation de la réponse renvoyée.Agrégation de cardinalitéUne agrégation de mesures à valeur unique qui calcule un compte approximatif de valeursdistinctes. Les valeurs peuvent être extraites de champs spécifiques du document ou généréespar un script.POST /index/ search?size 0{"aggs" : {"type count" : {"cardinality" : {"field" : "type"}https://riptutorial.com/fr/home15

}}}Réponse:{."aggregations" : {"type count" : {"value" : 3}}}Agrégation étendue des statistiquesUne agrégation de métriques à valeurs multiples qui calcule les statistiques sur les valeursnumériques extraites des documents agrégés. Ces valeurs peuvent être extraites de champsnumériques spécifiques dans les documents ou générées par un script fourni.L'agrégation extended stats est une version étendue de l'agrégation de statistiques, dans laquelledes mesures supplémentaires sont ajoutées, telles que sum of squares, variance, std deviationet std deviation bounds.{"aggs" : {"stats values" : { "extended stats" : { "field" : "field name" } }}}Sortie de l'échantillon:{."aggregations": {"stats values": {"count": 9,"min": 72,"max": 99,"avg": 86,"sum": 774,"sum of squares": 67028,"variance": 51.55555555555556,"std deviation": 7.180219742846005,"std deviation bounds": {"upper": 100.36043948569201,"lower": me16

Lire Agrégations en ligne: 45/agregationshttps://riptutorial.com/fr/home17

Chapitre 3: AnalyseursRemarquesLes analyseurs prennent le texte d'un champ de chaîne et génèrent des jetons qui seront utiliséslors de l'interrogation.Un analyseur fonctionne dans une séquence: (zéro ou plus)Tokenizer (One)TokenFilters (zéro ou plus)CharFiltersL'analyseur peut être appliqué aux mappages de sorte que, lorsque les champs sont indexés, ilssoient effectués sur une base individuelle plutôt que sur la chaîne dans son ensemble. Lors del'interrogation, la chaîne d'entrée sera également exécutée via l'analyseur. Par conséquent, sivous normalisez le texte dans l'analyseur, il correspondra toujours même si la requête contientune chaîne non normalisée.ExamplesCartographieUn analyseur peut être appliqué à un mappage en utilisant "analyseur", par défaut l'analyseur"standard" est utilisé. Alternativement, si vous ne souhaitez pas utiliser d’analyseur (parce que lasegmentation ou la normalisation ne serait pas utile), vous pouvez spécifier "index":"not analyzed"PUT my index{"mappings": {"user": {"properties": {"name": {"type": "string""analyzer": "my user name analyzer"},"id": {"type": "string","index": "not analyzed"}}}}}Multi-champsParfois, il peut être utile d'avoir plusieurs index distincts d'un champ avec différents analyseurs.https://riptutorial.com/fr/home18

Vous pouvez utiliser la fonctionnalité multi-champs pour le faire.PUT my index{"mappings": {"user": {"properties": {"name": {"type": "string""analyzer": "standard","fields": {"special": {"type": "string","analyzer": "my user name analyzer"},"unanalyzed": {"type": "string","index": "not analyzed"}}}}}}}Lors de l'interrogation, au lieu d'utiliser simplement "user.name" (qui dans ce cas utiliseraittoujours le standard Analyzer), vous pouvez utiliser "user.name.special" ou"user.name.unanalyzed". Notez que le document restera inchangé, cela ne concerne quel'indexation.AnalyseursL'analyse dans elasticsearch entre en contexte lorsque vous souhaitez analyser les données devotre index.Les analyseurs nous permettent d'effectuer les opérations suivantes: Abréviations Enracinement Manipulation de typoNous allons regarder chacun d'eux maintenant.1. Abréviations :En utilisant des analyseurs, nous pouvons dire à elasticsearch comment traiter lesabréviations dans nos données, c'est-à-dire dr Doctor.2. Stemming :L’utilisation des méthodes d’analyse nous permet d’utiliser des mots de base pour desverbes modifiés commehttps://riptutorial.com/fr/home19

MotModificationsexigerexigence requise3. Typo Handling :Les analyseurs fournissent également une gestion des fautes de frappe en interrogeant sinous recherchons des mots particuliers, disons «résurrection», alors elasticsearchretournera les résultats dans lesquels les fautes de frappe sont présentes.MotModificationsrésurrectionla résurrection, la résurrectionAnalyseurs dans Elasticsearch1. la norme2. Simple3. Espace blanc4. Arrêtez5. Mot-clé6. Modèle7. La langue8. Boule de neigeIgnorer l'analyseur de casParfois, il peut être nécessaire d'ignorer la casse de notre requête par rapport à lacorrespondance dans le document. Un analyseur peut être utilisé dans ce cas pour ignorer le caslors de la recherche. Chaque champ devra contenir cet analyseur dans sa propriété pour pouvoirfonctionner:"settings": {"analysis": {"analyzer": {"case insensitive": {"tokenizer": "keyword","filter": ["lowercase"]}}}}https://riptutorial.com/fr/home20

Lire Analyseurs en ligne: 2/analyseurshttps://riptutorial.com/fr/home21

Chapitre 4: API de rechercheIntroductionL'API de recherche vous permet d'exécuter une requête de recherche et de récupérer desrésultats de recherche correspondant à la requête. La requête peut être fournie en utilisant unesimple chaîne de requête en tant que paramètre ou en utilisant un corps de requête.ExamplesLe routageLors de l'exécution d'une recherche, celle-ci sera diffusée vers tous les fragments d'index / indices(round robin entre les répliques). Les fragments qui seront recherchés peuvent être contrôlés enfournissant le paramètre de routage. Par exemple, lors de l'indexation de tweets, la valeur deroutage peut être le nom d'utilisateur:curl -XPOST 'localhost:9200/twitter/tweet?routing kimchy&pretty' -d'{"user" : "kimchy","postDate" : "2009-11-15T14:12:12","message" : "trying out Elasticsearch"}'Rechercher en utilisant le corps de la requêteDes recherches peuvent également être effectuées sur elasticsearch à l'aide d'une rechercheDSL. L'élément de requête dans le corps de la requête de recherche permet de définir unerequête à l'aide de la requête DSL.GET /my index/type/ search{"query" : {"term" : { "field to search" : "search item" }}}Multi rechercheL'option multi search nous permet de rechercher une requête dans plusieurs champs à la fois.GET / search{"query": {"multi match" : {"query":"text to search","fields": [ "field 1", "field 2" ]}https://riptutorial.com/fr/home22

}}Nous pouvons également augmenter le score de certains champs en utilisant l'opérateur boost ( ),et utiliser des caractères génériques dans le nom du champ (*)GET / search{"query": {"multi match" : {"query":"text to search","fields": [ "field 1 2", "field 2*" ]}}}Recherche d'URI et mise en évidenceUne demande de recherche peut être exécutée uniquement en utilisant un URI en fournissant desparamètres de requête. Toutes les options de recherche ne sont pas exposées lors de l'exécutiond'une recherche à l'aide de ce mode, mais cela peut s'avérer utile pour des "tests de boucle"rapides.GET Index/type/ search?q field:valueUne autre fonctionnalité utile est la mise en évidence des correspondances dans les documents.GET / search{"query" : {"match": { "field": "value" }},"highlight" : {"fields" : {"content" : {}}}}Dans le cas ci-dessus, le champ particulier sera mis en évidence pour chaque accès à larecherche.Lire API de recherche en ligne: 3

Chapitre 5: Apprendre Elasticsearch aveckibanaIntroductionKibana est un outil de visualisation de données front-end pour elasticsearch. pour installer kibana,reportez-vous à la documentation de kibana. Pour lancer kibana sur localhost, accédez à https: //localho

Version Date de sortie 1.1.0 2014-03-25 1.0.0 2014-02-14 Examples Installer Elasticsearch sur Ubuntu 14.04 Conditions préalables Pour exécuter Elasticsearch, un enviro