From a practical point of view, however, several further problems should be solved that relate to algorithms and data structures, such as, for example, the choice of terms ( manual or automatic selection or both ), stemming, hash tables, inverted file structure, and so on.