Je n'ai pas encore reçu les détails, mais je me prépare à implémenter, en Java, un outil de recherche en ligne de commande pour rechercher dans un fichier qui contient deux champs (docid, orgid). J'ai appris que ce fichier a commencé petit et grandit tout le temps. Je dois pouvoir passer dans le docid et récupérer l'orgid.Quelle est la meilleure approche pour effectuer une recherche rapide dans un fichier grand format?
Quelqu'un peut-il me dire - quelle pourrait être la meilleure technique pour rechercher un fichier plat comme je l'ai mentionné ci-dessus? Pour l'instant, nous ne traitons que 50 000 lignes (sur deux mois) de données dans le fichier, mais elles augmenteront beaucoup plus rapidement une fois le système mis en place.
Il semble que ce soit stocké dans un système binaire que l'on peut rechercher, mais je ne suis pas sûr de ce que tout doit rechercher pour commencer.
Je pourrais vider ceci dans une base de données mais cela semble être exagéré. Plus pour ce faire, je devrais obtenir la base de données installée sur le serveur et cela va être difficile.
Pourquoi cela serait-il exagéré? –
Ferez-vous la recherche de temps à autre ou en tant que service censé fournir des réponses rapides à plusieurs requêtes? Dans le cas a) regardez si vous ne pouvez pas utiliser grep, egrep ou awk, dans le second cas, pensez à une base de données - car c'est exactement la raison pour laquelle les bases de données ont été inventées en premier lieu. – Ingo
Je pense qu'il serait utile de fournir quelques détails supplémentaires. À quelle fréquence les choses sont-elles ajoutées et combien sont ajoutées? Une fois par jour? Quelques milliers par jour? En continu, quelques secondes chaque jour pendant la journée? Des trucs comme ça. Et puis, combien de recherches y a-t-il par jour? 10, 1000, 100000? Sont les recherches d'éléments ou de groupes uniques? Quelle taille pourrait-il avoir? Des millions? Des milliards? quelle? –