Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 20947|Répondre: 1

Les requêtes composées ElasticSearch doivent, doivent must_not utiliser

[Copié le lien]
Publié sur 28/12/2018 12:01:09 | | |
Question conjointe BOOL : Doit, Doit, must_not

Si nous voulons demander quelque chose de similaire à « contenu avec BMW, mais pas en tag », nous devons utiliser bool federated query.

La requête conjointe utilisera trois mots-clés : doit, doit, must_not.

Ces trois éléments peuvent être compris ainsi

must: Le document doit correspondre exactement aux conditions
should: doit comporter plus d’une condition, et si au moins une condition est remplie, ce document remplira si
must_not :Le document ne doit pas correspondre aux critères

Introduction du site officiel :https://www.elastic.co/guide/cn/ ... bining-filters.html

Interroger DSL

match_all Requête

Tous les documents peuvent être interrogés, et c’est l’instruction par défaut sans conditions de requête.


Cette requête est souvent utilisée pour fusionner des filtres. Par exemple, il faut récupérer toutes les boîtes aux lettres, et toute la pertinence des documents est la même, donc le _score que vous obtenez est 1.

Requête de correspondance

Une requête de correspondance est une requête standard qui est essentiellement utilisée que vous ayez besoin d’une requête en texte intégral ou d’une requête exacte.

Si vous utilisez « match » pour interroger un champ de texte complet, il utilisera l’analyseur pour analyser les caractères de requête avant la requête réelle :



Si vous spécifiez une valeur exacte sous correspondance, il cherchera votre valeur donnée lorsqu’il rencontrera un nombre, une date, un boolean ou une chaîne not_analyzed :


Conseil : Lors d’une recherche par correspondance exacte, il est préférable d’utiliser des instructions filtre car les instructions filtres mettent les données en cache.

Une requête de correspondance ne peut rechercher qu’une valeur exacte qui spécifie un champ exact, et il suffit de spécifier le nom de champ correct pour éviter les erreurs de syntaxe.

multi_match Requête

multi_match requête vous permet de rechercher plusieurs champs simultanément à partir d’une requête de correspondance, et d’en chercher un dans plusieurs champs en même temps :


Requête BOOL

Les requêtes bool sont similaires au filtrage bool et servent à fusionner plusieurs clauses de requête. La différence est que le filtre bool peut indiquer directement si la correspondance est réussie, tandis que la requête bool calcule le _score (score de corrélation) de chaque clause de requête.

must:: 查询指定文档一定要被包含。
must_not : Les documents spécifiés par requête ne doivent pas être inclus.
should:: 查询指定文档,有则可以为文档相关性加分。

La requête suivante constatera que le champ titre contient « comment gagner des millions » et que le champ « tag » n’est pas marqué comme spam. S’ils sont classés « étoilés » ou ont une date de sortie antérieure à 2014, alors ces documents correspondants seront à un niveau supérieur à celui de sites similaires :


Conseil : S’il n’y a pas de clause « must » dans la requête bool, il devrait y avoir au moins une clause « doit ». Mais s’il existe une clause « must », alors la requête peut aussi être faite sans la clause « need ».

Interrogation sur les jokers

Utilisez les requêtes jokers standard du shell

La requête suivante correspond aux documents contenant W1F 7HW et W2F 8HW :


Par exemple, la requête suivante pour le nom d’hôte correspond au joker du shell suivant :


requête regexp

Disons que vous souhaitez ne faire correspondre que les codes postaux commençant par W suivi de chiffres. L’utilisation de requêtes regexp vous permet d’écrire des motifs plus complexes :



Cette expression régulière précise que l’entrée doit commencer par W, suivie d’un nombre de 0 à 9, puis d’un ou plusieurs autres caractères.

L’exemple suivant montre tous les débuts réguliers avec wxopen


Requête au préfixe

Par quel caractère commence-t-il, vous pouvez utiliser le préfixe plus simplement, comme dans l’exemple ci-dessous :


Appariement de phrases

Lorsque vous devez trouver quelques mots à proximité, vous utilisez match_phrase requête :


À l’instar des requêtes par correspondance, match_phrase requête analyse d’abord la chaîne de requêtes pour produire une liste de termes. Il cherchera toutes les entrées,
Cependant, seuls les documents contenant tous les termes de recherche sont conservés, et les positions des termes doivent être adjacentes. Une requête pour l’expression Quick Fox ne correspondra pas
Aucune de nos documentations, car aucune ne contient d’entrées rapides et de cases adjacentes.
match_phrase requête peut aussi être écrite comme une requête de correspondance de phrase typographique :







Précédent:Acheté par China Accounting Online School le 18 décembre (camp de formation au dédouanement de niveau 6 en pratique comptable)
Prochain:La règle régulière C# prend la valeur du tag A href en HTML
Publié sur 22/11/2022 14:25:30 |
Apprends-toi, merci propriétaire
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com