En génie logiciel, nous créons des index tout le temps (par exemple, dans les bases de données) mais j'entends aussi beaucoup de gens parler d'indices inversés. Y a-t-il quelque chose de fondamentalement différent entre les deux? Ils ressemblent à la même chose.
indexing
terminology
guidisme
la source
la source
Réponses:
Une utilisation courante est "... pour permettre une recherche rapide en texte intégral".
Les deux types dénotent la directionnalité . L'un vous fait avancer dans l'index, et l'autre vous fait reculer (l'inverse) à travers l'index. C'est tout. Il n'y a pas de mystère à découvrir ici. Sinon, les deux types sont identiques, il s'agit simplement de savoir quelles informations vous avez , et par conséquent quelles informations vous essayez de trouver.
Pour répondre à votre demande, je ne pense pas qu'il y ait vraiment moyen de savoir pourquoi l'utilisation est ce qu'elle est aujourd'hui. La seule raison pour laquelle il est important de définir qui est
forward
et lequel est,inverted
c'est pour que nous puissions tous avoir une conversation à leur sujet, et que tout le monde sache de quelle direction nous parlons. Pensez aux termes «gauche» et «droite»: ils sont relatifs. Ce qui importe peu, sauf que tout le monde doit s'entendre sur celui qui est «à gauche» et celui qui est «juste» pour que les mots aient un sens. Si, en tant que culture, nous décidions de tourner à gauche et à droite, alors vous auriez le même problème à déterminer ce qu'est un «virage à droite» par rapport à un «virage à gauche» puisque le sens convenu avait changé. Cependant, la dénomination est arbitraire, sur le sens.Dans votre commentaire où vous demandez «s'il vous plaît, ne définissez pas seulement les termes», vous manquez le point, et je pense que vous êtes simplement accroché au libellé alors qu'il n'y a absolument aucune différence entre eux.
Pour le bénéfice des futurs lecteurs, je vais maintenant fournir plusieurs exemples d'index «en avant» et «inversé»:
Exemple 1: recherche sur le Web
Si vous pensez que l'inverse d'un indice est quelque chose comme l' inverse d'une fonction en mathématiques , où l'inverse est une chose spéciale qui a une forme différente, alors vous vous trompez: ce n'est pas le cas ici.
Dans un moteur de recherche, vous avez une liste de documents (pages sur des sites Web), où vous entrez des mots clés et obtenez des résultats.
Un index avant (ou simplement un index) est la liste des documents et les mots qui y figurent. Dans l'exemple de recherche sur le Web, Google explore le Web, construit la liste des documents et identifie les mots qui apparaissent dans chaque page.
L' index inversé est la liste des mots et les documents dans lesquels ils apparaissent. Dans l'exemple de recherche sur le Web, vous fournissez la liste de mots (votre requête de recherche) et Google produit les documents (liens de résultats de recherche).
Ce sont tous les deux des indices - c'est juste une question de savoir dans quelle direction vous allez. Transférer est de documents-> à-> mots, inversé est de mots-> à-> documents.
Exemple 2: DNS
Un autre exemple est une recherche DNS (qui prend un nom d'hôte et renvoie une adresse IP) et une recherche inversée (qui prend une adresse IP et vous donne le nom d'hôte).
Exemple 3: un livre
L'index au dos d'un livre est en fait un index inversé , tel que défini par les exemples ci-dessus - une liste de mots, et où les trouver dans le livre. Dans un livre, la table des matières est comme un index avancé : c'est une liste de documents (chapitres) que contient le livre, sauf qu'au lieu de lister les mots de ces sections, la table des matières donne juste un nom / une description générale de ce qui contenus dans ces documents (chapitres).
Exemple 4: votre téléphone portable
L' index de transfert de votre téléphone portable est votre liste de contacts et les numéros de téléphone (portable, domicile, travail) associés à ces contacts. L' index inversé est ce qui vous permet de saisir manuellement un numéro de téléphone, et lorsque vous appuyez sur "composer", vous voyez le nom de la personne, plutôt que le numéro, car votre téléphone a pris le numéro de téléphone et vous a trouvé le contact qui lui est associé.
la source
Ils l'ont appelé inversé simplement parce qu'il existe déjà un index avancé. Prenons l'exemple du moteur de recherche, il se compose de deux parties: la première partie est "web crawler and parser" qui construit un index de document en mot, la seconde partie est une base de données de recherche qui construit un index de mot en document. Du fait que le premier index existe, nous appelons naturellement le second index comme un index inversé.
Si vous nommez la table des matières (table des matières) d'un livre comme index, alors vous devez appeler l'index à la fin du livre comme "index inversé". Ou, de l'autre côté, vous pouvez appeler la table des matières en tant qu'index inversé.
la source
inverted index
même si tous les index normaux de notre vie sont déjà utilisés commeinverted
.typiquement lorsque vous parlez d'index, vous voulez dire des calculs ajoutés ou des résultats stockés de procédures qui ont été effectuées afin d'accélérer l'application (par exemple MySQL ou autre SGBDR Consultez MySQL la documentation ). L'indexation peut également être liée à la mise en cache, etc.
L'index inversé crée un fichier dont la structure est principalement destinée à la recherche (texte intégral).
L'index inversé se compose de deux fichiers principaux:
Dans le vocabulaire, il y a des mots communs extraits du texte (bien sûr après avoir filtré les mots de la liste noire comme les pronoms). Le fichier des occurrences contient la connexion entre les mots et les documents (mot1 apparaît dans doc1 et doc2, pas dans doc3). Il est représenté sous la forme d'une matrice.
Dans l'image ci-dessus est montré le processus de création des deux fichiers mentionnés.
Si vous êtes davantage intéressé par cette problématique, je peux vous recommander un excellent livre écrit par Ricardo Yated - Modern Information Retrieval ( voir sur Amazon ) - à propos de la page 200 je pense.
J'espère que ça aide :-)
la source
la normalité a déjà merveilleusement différencié un index avant et un index inversé, mais pour la question de savoir pourquoi l'un est appelé un index direct et l'autre un index inversé, c'est peut-être pourquoi ils sont appelés ainsi ---
Prenant l'exemple de l'exploration et de l'indexation des moteurs de recherche (ou de la création d'un index pour un livre), un index avant peut être créé simultanément pendant que vous explorez les pages Web (ou lisez le livre) ou que vous avancez . Donc, si vous avez 10 pages Web à explorer (ou 10 chapitres dans un livre), vous pouvez explorer la première page Web (lire le premier chapitre) et ensuite faire une liste de mots qui apparaissent dans la page Web (mots qui apparaissent dans le chapitre) et continuer ce processus pour les autres pages Web (autres chapitres) donc au moment où vous avez parcouru les 10 pages Web (lisez les 10 chapitres) votre index de transfert est complet avec chaque page Web (chapitre) pointant vers une liste de mots qu'il contient .
Mais pour créer un index inversé, vous devez explorer toutes les 10 pages Web (lisez les 10 chapitres), puis prendre chaque mot de chaque liste de documents et déterminer quels documents contiennent ce mot. C'est comme revenir en arrière une fois que vous avez parcouru les pages Web (lisez les chapitres du livre) . C'est ce qu'on appelle un index inversé.
Ce n'est que ma spéculation.
la source
Il existe de nombreux types d'index. Par exemple, B-tree, R-tree, hash ... Pour des raisons différentes, nous devons choisir le bon index.
L'index inversé est spécial. Index inversé généralement utilisé dans le moteur de recherche en texte intégral. Utilisez l'index inversé, nous pouvons trouver un mot dans un document (ou un ensemble de documents) aussi rapidement que possible. Pensez à la limite de mémoire et de processeur, les autres index ne peuvent pas terminer ce travail.
Vous pouvez lire le document lucene pour plus de détails. C'est un moteur de recherche open source. http://lucene.apache.org/java/docs/index.html
la source
Le terme «index de mots inversés» fait référence au changement de relation d'un document unique contenant de nombreux mots, à chaque mot unique contenant (ou identifiant) une liste de plusieurs documents. Il s'agit effectivement de prendre une relation un-à-plusieurs (Docs to Words) et de l'inverser (ou de l'inverser) de telle sorte qu'une nouvelle relation un-à-plusieurs «inversée» existe maintenant, qui est chaque mot unique relatif à plusieurs- Documents (c'est-à-dire tout ce qui contient ce mot). Son origine est vraiment aussi simple que cela, et le terme «index inversé» a été utilisé pour décrire les index manuels du même type bien avant que les ordinateurs et l'indexation électronique à grande vitesse n'existent (oui, certes, je suis un vieux programmeur geezer, presque assez vieux pour avoir considéré Grace Hopper comme une "douce jeune femme" l'âge approprié pour faire la cour quand COBOL était une nouvelle langue brillante). S'il vous plaît, ne nous débarrassez pas encore de nous, geezers, car nous pouvons parfois fournir une information historique utile, et peut-être même précieuse, ou deux - lorsque notre RAM personnelle fonctionne encore. [sourire]
la source
dans les index inversés, nous avons la forme suivante:
mot1-> liste des documents dans lesquels il se produit (ordre trié)
word2-> liste des documents dans lesquels il se produit (ordre trié)
Il est très utile pour le traitement des requêtes des moteurs de recherche car il nous permet de trouver des documents dans lesquels le mot apparaît.
Vous pouvez utiliser l'apprentissage automatique supervisé pour créer cet index inversé.
la source
Encore une différence:
La gestion des mises à jour avec l'index inversé est coûteuse par rapport à l'index forward.
L'index avancé gère facilement les mises à jour en reflétant les modifications uniquement dans l'index de document correspondant, tandis que dans l'index inversé, le même changement doit se refléter dans plusieurs positions dans l'index inversé.
la source