Question

Je sais que cette question a été posée à nouveau et à nouveau dans Stackoverflow et Google, mais je trouve que toutes les réponses ne peuvent pas me satisfaire.La plupart des solutions supposent que l'index entier peut correspondre à la mémoire, puis nous pouvons le stocker sur le disque de la sérialisation Java.Lorsque l'index est nécessaire, nous devons charger l'index entier à la mémoire.Solutions comme ceci: solution 1 , Solution 2 .Mais comme nous le savons, cette hypothèse n'est pas toujours vraie, alors que dois-je faire pour stocker l'index de document inversé sur le disque lorsqu'il ne correspond pas à la mémoire?

J'apprécierai que si vous pouvez me donner la solution en Java.

Était-ce utile?

La solution

Je voudrais essayer JDBM3 Ceci prend en charge les collections d'arborescence et de hachage et la seule exigence est que chaque clé ou entrées'intégrer dans la mémoire.

Si vous avez des entrées super grandes, je suggère de stocker chacun des fichiers que des fichiers pouvant être mappés en mémoire pour extraire des portions des données.Dans la table de recherche, vous pouvez stocker des clés pour produire des noms.(Ou rendre les fichiers nomme les clés)

Autres conseils

une mise à jour après quelques années.

JDBM3 n'est plus pris en charge. MAPDB est son remplacement. Il a plusieurs mai à stocker des données (cartes mémoire, etc.) qui répondront à votre exigence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top