Je me demandais quel type de recherche est implémenté dans différents formats de fichiers et quelle serait une bonne façon de construire un fichier qui a beaucoup de données pour permettre une recherche efficace. Certaines façons que j'ai considérées ont été d'avoir des paquets de taille égale, ce qui permet un saut rapide puisque vous savez ce que chaque bloc de données est, aussi pré-indexation chaque fois qu'un fichier est chargé est également une pensée.Façons de chercher efficacement dans des formats de fichiers personnalisés
Répondre
Cela dépend entièrement du type de données et de ce que vous essayez de rechercher.
Si vous essayez de rechercher par index d'enregistrement, alors c'est sûr: les champs de taille fixe rendent la vie plus facile, mais gaspillent de l'espace. Si vous essayez de chercher par n'importe quoi d'autre, en gardant un index de clé: l'emplacement fonctionne bien. Si vous voulez être capable de construire le fichier séquentiellement, vous pouvez mettre l'index à la fin mais garder les quatre premiers octets du fichier (après le nombre magique ou autre) pour représenter l'emplacement de l'index lui-même (en supposant que vous pouvez réécrire ces quatre premiers octets). Si vous voulez être capable d'effectuer une sorte de découpage binaire sur des blocs de longueur variable, alors avoir un moyen raisonnablement efficace de détecter le début d'un bloc aide - tout comme les pointeurs suivant/précédent, comme mentionné par Alexandre. Fondamentalement, tout tourne autour des métadonnées, mais le bon type de métadonnées dépendra du type de données et des cas d'utilisation recherchés en premier lieu.
Eh bien, donner à chaque segment un décalage de taille par rapport au tronçon suivant est courant et permet de sauter rapidement des données inconnues. Une autre façon serait un morceau d'index au début du fichier, en stockant une table de tous les morceaux dans le fichier avec leurs décalages. Les programmes liraient simplement le morceau d'index en mémoire.
- 1. comprendre l'anatomie des formats de fichiers et des formats d'image
- 2. formats de fichiers dans netstream
- 3. Formats personnalisés .ToString() dans les rapports .rdlc
- 4. Formats personnalisés dans Ruby on Rails
- 5. Formats de fichiers 3D pour les jeux
- 6. chercher des données à partir de web-services iphone de différentes façons?
- 7. façons peu coûteux d'ajouter chercher à un objet filetype
- 8. Comment chercher/remplacer efficacement sur un grand fichier txt?
- 9. Extraire des fichiers d'un Jar plus efficacement
- 10. Comment créer des noms de fichiers personnalisés dans C?
- 11. Comment copier efficacement des fichiers de HDFS vers S3
- 12. formats de cellules dans phpexcel
- 13. Formats de fichiers audio pris en charge dans l'iPhone
- 14. convertir des formats vidéo
- 15. comment chercher des résultats de recherche google personnalisés par simple html dom parser?
- 16. 2 formats dans 1 rapport de cristal
- 17. Chargement de fichiers de configuration personnalisés
- 18. Expression régulière RegEx pour valider les formats Excel personnalisés
- 19. formats de fichiers binaires: besoin de correction d'erreur?
- 20. Fichiers de configuration personnalisés ou fichiers de localisation, peut-être?
- 21. SSIS: Comment créer des fichiers journaux personnalisés?
- 22. Comment charger des fichiers de configuration personnalisés avec codeigniter?
- 23. Prévenir l'aperçu des types de fichiers UTI personnalisés sur l'iPad
- 24. Où stocker les fichiers de configuration personnalisés
- 25. Afficheur de fichiers multi-formats pour le développement .Net
- 26. accéder à des fichiers html statiques personnalisés dans joomla
- 27. Comment vérifier efficacement une bonne séquence de fichiers?
- 28. Formats de médias dans Android?
- 29. Quels formats de fichiers vidéo peuvent être lus par QTKit?
- 30. Utiliser ExtractingRequestHandler de Solr CELL pour indexer/extraire des fichiers à partir de formats de paquets
Vous allez devoir donner un peu plus d'informations que cela. quel type de format? binaire? texte? Le fichier représente-t-il une structure de données que vous devez analyser pour obtenir des informations? –
Im demandant généralement, sur les techniques utilisées dans la recherche. – Cenoc