A Simple Search Engine

Alex Edwards 0 Tallied Votes 9K Views Share

This is a simple Search Engine that contains tokenized words as keys, in which they will return values associated with them in an ArrayList.

All that is required is a text file from a valid extension.

import java.util.*;
import java.io.*;

public class SearchEngine{
	public static void main(String[] args){
		Hashtable<String, ArrayList<String> > ht = new Hashtable<String, ArrayList<String> >();
		Scanner kb = new Scanner(System.in);
		System.out.println("Enter the filename that you want to Search values for.");
		BufferedReader br = null;
		try{
			br = new BufferedReader(new FileReader(kb.nextLine()));//reads information from the file specified by user input
			System.out.println("The file was read. Processing information, please wait...");

			while(br.ready()){//should repeat until there are no more lines to read
				String line = br.readLine();//assigns the line read by the reader to line
				String[] result = line.split("\\s");//tokenizes the line into seperate strings, based on spaces only

				for(int i = 0; i < result.length; i++){
					if(!ht.containsKey(result[i])){
						ArrayList<String> temp = new ArrayList<String>(1);
						temp.add(line);
						ht.put(result[i], temp);//assigns a key to anonymous ArrayList that stores the value
					}
					else{
						ArrayList<String> temp = (ArrayList<String>)ht.get(result[i]);//if the key has already been assigned, thats ok
						temp.add(line);                                               //just add the argument to the ArrayList!
					}
				}
			}
		}
		catch(Exception e){
			System.out.println(e);
			System.exit(1);
		}
		System.out.println(ht);
		do{
			System.out.println("Enter a key to search for the value it is associated with.\n");
			System.out.println(ht.get(kb.nextLine()));
			System.out.println("\nKeep searching? Enter any key to continue, or type <NO> to end the process");
		}while(!kb.nextLine().equalsIgnoreCase("<NO>"));
		try{
			br.close();
		}
		catch(Exception e){
			System.out.println(e);
			System.exit(1);
		}
	}//end main
}//end class
btwisted 0 Newbie Poster

What is considered a valid extension?
Thanks

shibin245 0 Newbie Poster

hai
i am having one website
in that , i stored i stored alot of addressess
how can i or my frends can take this address by a search engine

i am using html and java so please provide for html

ithelp 757 Posting Virtuoso Banned

You cannot code a search engine using html.

fayimora 0 Newbie Poster

use php.its fun

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.