Comprenez en lisant l'article! Résumé des contenus que les débutants d'Elasticsearch souhaitent supprimer

Elasticsearch, un moteur de recherche et d'analyse décentralisé et open source. Je pense qu'il y a des gens qui s'y intéressent ces jours-ci et qui prévoient de l'utiliser pour les affaires. Dans ce cas

Si vous le regardez, ça va! !!

En parlant de (officiel), c'est vraiment vrai,

――L'obstacle est élevé si le début est l'anglais ――Pour le moment, je veux saisir uniquement les points principaux et l'utiliser dur

Je pense qu'il y a beaucoup de gens qui le seront, alors j'ai essayé de le résumer en supposant que je prendrais un bon article pour les débutants et le déplacerais réellement.

Conditions préalables

L'accent est mis sur la création d'un environnement et son déplacement. Mon environnement principal et mon langage sont tels que décrits ci-dessus, alors soyez patient. Pour les personnes dans d'autres environnements, veuillez vous référer à "Sujet principal" autour de 3 et 4 pour référence.

Sujet principal

1. Téléchargez et configurez curl

Curl, un outil d'échange de données avec des serveurs. Même s'il s'agit d'Elasticsearch, pourquoi est-il curl? C'est comme ça, mais c'est essentiel pour les opérations basées sur le commandement. Malheureusement, curl n'est pas inclus dans Windows par défaut. Vous devez le télécharger.

Ensuite, téléchargez → décompressez et définissez le chemin d'accès au dossier bin dans la variable d'environnement (variable d'environnement utilisateur). Ensuite, exécutez la commande suivante à l'invite de commande pour éviter les caractères déformés même en japonais.

Code de caractère UTF-Changer en 8


> chcp 65001

Si vous ne comprenez pas curl en premier lieu et que vous voulez connaître l'utilisation de base,

C'est très utile, c'est donc une bonne idée de le lire.

2. Préparation de l'environnement Elasticsearch (et Kibana)

Créons enfin l'environnement Elasticsearch! Vous n'êtes pas obligé d'avoir Kibana,

C'est un outil utile, alors assurez-vous de l'inclure également.

Si vous faites référence à, l'environnement sous Windows sera prêt ♪ ・ ・ Mais c'est vraiment téléchargeable! !! !! Cela prend beaucoup de temps (j'ai pris environ 3,5 heures: Kibana n'est pas tellement), donc les gens qui peuvent utiliser Docker raisonnablement

Vous pouvez construire l'environnement rapidement en vous référant à l'environnement. (Il a fallu moins d'une heure pour examiner les paramètres.)

Sur le site officiel,

Il y a une description dans, veuillez donc vous y référer également.

3. Comprendre les concepts de base

Eh bien! Déplaçons-le immédiatement! Avant cela, il est important de comprendre le concept de base. En premier lieu, mettons cela devant l'environnement, et les contenus que nous voulons garder au minimum sont les suivants.

Je pense qu'il est plus facile de se faire une idée des termes qui apparaissent souvent par rapport à RDB. Si vous recherchez, il existe différentes théories, mais la combinaison la plus appropriée est la suivante.

RDB Elasticsearch
Base de données Cluster
table Index
définition de table Mapping
record(ligne) Document
Colonne Fields
Clé primaire (clé primaire) Document ID

Bien sûr, il y a différentes parties, donc pour plus de détails

Veuillez vous référer au.

Puis analyseur. Un analyseur est une analyse de texte qui effectue le processus de conversion au meilleur format pour la recherche. L'analyseur est à peu près divisé en trois.

Nom Contenu
Character filters Effectue les traitements nécessaires (ajout, suppression, modification) sur la chaîne de caractères avant de la diviser avec Tokenizer.
Position de pré-traitement, utilisation facultative.
Tokenizer Il a pour rôle de diviser la chaîne de caractères en niveaux de mots.
Article requis.
Token filters Effectuer le traitement nécessaire (ajout, suppression, modification) pour le contenu divisé par Tokenizer.
Position de post-traitement, utilisation facultative.

Sur le site officiel

Il y a une description, alors vérifions-la une fois.

Enfin, les agrégations. Regroupez les données en fonction de la requête de recherche.

Sur le site officiel

Reportez-vous à la zone.

4. Déplaçons-le sur une base de commande

Exploitons enfin Elasticsearch ~!

Pour le contenu général,

Veuillez vous référer à la zone.

Du point de vue de la comparaison avec SQL

La zone est très facile à comprendre ♪

Tout d'abord, en se référant aux articles ci-dessus, sur une base de commande,

--Création d'un index --Saisie et mise à jour des données --Exécution des requêtes

C'est une bonne idée de parcourir la région.

Si vous avez la capacité disponible, il est conseillé de passer par l'analyseur et les agrégations.

Pour l'analyseur (en japonais),

Veuillez vous référer à la zone.

Pour les agrégations,

La région sera utile.

5. Exécutons-le dans un langage de programmation (Java)

Vous pouvez également utiliser un langage de programmation!

Selon Elasticsearch, il prend en charge Java, JavaScript, Go, .NET, PHP, Perl, Python, Ruby et 8 autres langages de programmation, mais comme je l'ai mentionné au début, mon environnement principal est Puisqu'il s'agit de Java, cette fois c'est Java.

Pour les articles japonais

Est très bien organisé.

La page supérieure de la famille principale est ci-dessous.

La page suivante est celle que je voulais personnellement garder à l'esprit.

C'est une bonne idée d'écrire le code et de voir comment cela fonctionne.

Impressions

C'est difficile à obtenir au début, Elasticsearch Konoyaro! !! C'était censé l'être, mais au fur et à mesure que je l'utilisais, je suis devenu capable de le comprendre beaucoup, et je suis devenu plus attaché à lui. La gamme de personnalisation est large, et il est également bon qu'elle semble valoir la peine d'être augmentée.

Cela fait environ deux semaines que j'ai commencé à le toucher le 09/03/2020 au moment de la rédaction de cet article. C'est encore un long chemin à parcourir, mais j'aimerais m'y habituer plutôt que l'apprendre!

Journal des modifications

Date Contenu
2020/09/03 Article de première édition
2020/09/04 analyzer,Ajout de contenu sur les agrégations

référence

Bien que non inclus dans le texte, ce sont des articles auxquels j'ai beaucoup fait référence.

  1. curl

3. Comprendre les concepts de base

Recommended Posts

Comprenez en lisant l'article! Résumé des contenus que les débutants d'Elasticsearch souhaitent supprimer
Je veux var_dump le contenu de l'intention
Je veux comprendre le flux des paramètres de demande de traitement Spring
L'histoire de Collectors.groupingBy que je veux garder pour la postérité
[Rails] Articles pour les débutants pour organiser et comprendre le flux de form_with
Je veux voir le contenu de Request sans dire quatre ou cinq
Personnalisez la répartition du contenu de Recyclerview
[Orienté objet] Un mémorandum qui fait de zéro le meilleur [Résumé du site qui a aidé à comprendre le concept]
[Pour les débutants] Comprendre rapidement les bases de Java 8 lambda
Comprendre les caractéristiques de Scala en 5 minutes (Introduction à Scala)
Je veux connaître la réponse de l'application Janken
Je souhaite afficher le nom de l'affiche du commentaire
"Héritage" que même les débutants en orientation objet peuvent comprendre
[Rails] Comment obtenir le contenu des paramètres forts
Java: utilisez Stream pour trier le contenu d'une collection
Polymorphisme que même les débutants en orientation objet peuvent comprendre
Je veux retourner la position de défilement de UITableView!
Je veux obtenir une liste du contenu d'un fichier zip et sa taille non compressée
Je veux recréer le contenu des actifs à partir de zéro dans l'environnement construit avec capistrano
[Pour les débutants] Un article qui vous fait comprendre 5 000 billions de% du «passage par référence» compliqué de Java