Chapter. Novel and Applied Algorithms in a Search Engine for Java Code Snippets