Output-Sensitive Autocompletion Search

  • Holger Bast
  • Christian W. Mortensen
  • Ingmar Weber
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4209)


We consider the following autocompletion search scenario: imagine a user of a search engine typing a query; then with every keystroke display those completions of the last query word that would lead to the best hits, and also display the best such hits. The following problem is at the core of this feature: for a fixed document collection, given a set D of documents, and an alphabetical range W of words, compute the set of all word-in-document pairs (w,d) from the collection such that wW and dD. We present a new data structure with the help of which such autocompletion queries can be processed, on the average, in time linear in the input plus output size, independent of the size of the underlying document collection. At the same time, our data structure uses no more space than an inverted index. Actual query processing times on a large test collection correlate almost perfectly with our theoretical bound.


Root Node Word Number Inverted Index Document Number Inverted List 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Witten, I.H., Bell, T.C., Moffat, A.: Managing Gigabytes: Compressing and Indexing Documents and Images, 2nd edn. Morgan Kaufmann, San Francisco (1999)Google Scholar
  2. 2.
    Bast, H., Weber, I.: Type less, find more: Fast autocompletion search with a succinct index. In: 29th Conference on Research and Development in Information Retrieval (SIGIR 2006) (2006)Google Scholar
  3. 3.
    Gaede, V., Günther, O.: Multidimensional access methods. ACM Computing Surveys 30(2), 170–231 (1998)CrossRefGoogle Scholar
  4. 4.
    Arge, L., Samoladas, V., Vitter, J.S.: On two-dimensional indexability and optimal range search indexing. In: 18th Symposium on Principles of database systems (PODS 1999), pp. 346–357 (1999)Google Scholar
  5. 5.
    Ferragina, P., Koudas, N., Muthukrishnan, S., Srivastava, D.: Two-dimensional substring indexing. Journal of Computer and System Science 66(4), 763–774 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Alstrup, S., Brodal, G.S., Rauhe, T.: New data structures for orthogonal range searching. In: 41st Symposium on Foundations of Computer Science (FOCS 2000), pp. 198–207 (2000)Google Scholar
  7. 7.
    Chazelle, B.: A functional approach to data structures and its use in multidimensional searching. SIAM Journal on Computing 17(3), 427–462 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    McCreight, E.M.: Priority search trees. SIAM Journal on Computing 14(2), 257–276 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Grossi, R., Vitter, J.S.: Compressed suffix arrays and suffix trees with applications to text indexing and string matching (extended abstract). In: 32nd Symposium on the Theory of Computing (STOC 2000), pp. 397–406 (2000)Google Scholar
  10. 10.
    Ferragina, P., Grossi, R.: The string B-tree: a new data structure for string search in external memory and its applications. Journal of the ACM 46(2), 236–280 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Jakobsson, M.: Autocompletion in full text transaction entry: a method for humanized input. In: Conference on Human Factors in Computing Systems (CHI 1986), pp. 327–323 (1986)Google Scholar
  12. 12.
    Darragh, J.J., Witten, I.H., James, M.L.: The reactive keyboard: A predictive typing aid. In: IEEE Computer, pp. 41–49 (1990)Google Scholar
  13. 13.
    Stocky, T., Faaborg, A., Lieberman, H.: A commonsense approach to predictive text entry. In: Conference on Human Factors in Computing Systems (CHI 2004), pp. 1163–1166 (2004)Google Scholar
  14. 14.
    Bickel, S., Haider, P., Scheffer, T.: Learning to complete sentences. In: Gama, J., Camacho, R., Brazdil, P.B., Jorge, A.M., Torgo, L. (eds.) ECML 2005. LNCS, vol. 3720, pp. 497–504. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Finkelstein, L., Gabrilovich, E., Matias, Y., Rivlin, E., Solan, Z., Wolfman, G., Ruppin, E.: Placing search in context: The concept revisited. In: 10th World Wide Web Conference (WWW 2010), pp. 406–414 (2001)Google Scholar
  16. 16.
    Paynter, G.W., Witten, I.H., Cunningham, S.J., Buchanan, G.: Scalable browsing for large collections: A case study. In: 5th Conference on Digital Libraries (DL 2000), pp. 215–223 (2000)Google Scholar
  17. 17.
    Nevill-Manning, C.G., Witten, I., Paynter, G.W.: Lexically-generated subject hierarchies for browsing large collections. International Journal of Digital Libraries 2(2/3), 111–123 (1999)CrossRefGoogle Scholar
  18. 18.
    Bast, H., Mortensen, C.W., Weber, I.: Output-sensitive autocompletion search. Technical Report 1–007 (2006), See first author’s website
  19. 19.
    Munro, J.I.: Tables. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 37–42. Springer, Heidelberg (1996)Google Scholar
  20. 20.
    Voorhees, E.: Overview of the trec, robust retrieval track. In: 13th Text Retrieval Conference (TREC 2004) (2004),
  21. 21.
    Demaine, E.D., Lopez-Ortiz, A., Munro, J.I.: Adaptive set intersections, unions, and differences. In: 11th Symposium on Discrete Algorithms (SODA 2000), pp. 743–752 (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Holger Bast
    • 1
  • Christian W. Mortensen
    • 2
  • Ingmar Weber
    • 1
  1. 1.Max-Planck-Institut für InformatikSaarbrückenGermany
  2. 2.IT University of CopenhagenDenmark

Personalised recommendations