L'étude ElasticSearch note trois

table des matières

Principe de l'indice sous-jacent ES 

Tokenizer IK

Personnalisez les mots d'extension et les mots vides dans IK


Principe de l'indice sous-jacent ES 

Tokenizer IK

1. Définition : est de diviser les mots-clés dans un texte

Je suis le camarade de classe de Xiao Ming

Principe de la segmentation des mots: diviser les mots-clés pour supprimer les mots vides et les mots vides

2. Segmentation des mots fournie dans ES

    1. L'analyseur standard par défaut analyseur standard Anglais: segmentation de mot Chinois: segmentation de mot à un seul caractère

    2. Analyseur simple et simple Anglais: segmentation de mots  sans nombres   Chinois: pas de segmentation de mots

3. Testez différents tokenizers


GET /_analyzer
{
	"analyzer":"simple",
	"text":"redis 非常好用 111"
}
  • Le résultat de la segmentation standard est: redis est très facile à utiliser 111
  • Le résultat d'une simple segmentation de mots est: redis est très facile à utiliser

4.github basé sur le tokenizer IK ES tokenizer

Remarque: l'utilisation du tokenizer IK et de la version ES doit être strictement cohérente

5. Quelle est la différence entre ik_max_word et ik_smart?

  • ik_max_word: Le texte sera divisé avec la plus grande granularité , par exemple en divisant "Je suis le camarade de classe de Xiao Ming" en "Je suis le camarade de classe de Xiao Ming", "Je suis", "Je suis Xiao Ming", "Le camarade de classe de Xiao Ming" , "Classmate", épuisera toutes les combinaisons possibles. Je suis le camarade de classe de Xiao Ming
  • ik_smart: Fera la division la plus grossière , telle que la division "Je suis le camarade de classe de Xiao Ming" en "Je suis le camarade de classe de Xiao Ming"
PUT /emp
{
	"mappings":{
		"emp":{
			"properties":{
				"name":{
					"type":"text",
					"analyzer":"ik_max_word"
				},
				"age":{
					"type":"integer"
				},
				"bir":{
					"type":"date"
				},
				"content":{
					"type":"text",
					"analyzer":"ik_max_word"
				},
				"address":{
					"type":"keyword"
				}
			}
		}
	}
}

Personnalisez les mots d'extension et les mots vides dans IK

1. Mots d'extension

Définition: le tokenizer ik existant ne peut pas segmenter ce mot en un mot-clé, mais espère qu'un certain mot deviendra un mot-clé

        ik tokenizer, etc. peut être divisé en mots-clés, tels que certains mots en ligne populaires 

        Configurer le fichier de configuration IK: Le nom dans le répertoire / plugins / ik / config sous le répertoire d'installation ES: IKAnalyzer.cfg.xml

       Modifiez le fichier de configuration pour ajouter la configuration suivante:

                <! - Les utilisateurs peuvent configurer leur propre dictionnaire étendu ici>

                <entry key = "ext_dict"> ext.dic </entry>

2. Arrêter les mots

Définition: le tokenizer ik existant divise un mot-clé en un mot, mais pour une raison quelconque, ce mot ne peut pas apparaître comme mot-clé

<entry key = "ext_stopwords"> stopext.dic </entry>

3. Configurer le dictionnaire d'extension distant

 

EN 中 Requête

1. Chaîne de requête! Requête de requête DSL

    Requête par mot-clé -----> calculer le score, trier, etc. série

2. L'efficacité des requêtes de filtre Quey Filter est relativement élevée

     Filtrer les données qui remplissent les conditions --------> Le score du document ne sera pas calculé, trié, couramment utilisé Filtrer automatiquement les résultats de filtrage couramment utilisés

     Vous devez utiliser des expressions booléennes pour combiner les deux requêtes

     Remarque: lorsque filterQuery et query sont utilisés en combinaison, l'instruction dans fiterQuery est exécutée en premier, puis l'instruction dans query est exécutée

Le filtrage convient pour filtrer les données dans une large plage , tandis que la requête convient pour faire correspondre exactement les données . Dans les applications générales, les données de filtre doivent être utilisées en premier , puis les données de correspondance de requête doivent être utilisées .

Je suppose que tu aimes

Origine blog.csdn.net/weixin_37841366/article/details/109412252
conseillé
Classement