How to setup
1. Please download the setup.sh first on your local machine. (Click the download button in the right corner). Suppose you download the setup.sh on /opt. Then run "cd /opt".
2. In the terminal, input "sudo chmod +x setup.sh" (without double quotation mark) to modify the permission.
3. run "ssh setup.sh"
4. When the MySQL is installing, the username you set should be root, and the password should be root too
5.If you run successfully, you can run "lsof -i:7654", then you can see information of the process.
6.Then you can see our main webpage on your local machine.
7.If you update, run "ssh stop-server.sh" first, then run "ssh start-servers.sh" to restart the server.
How this project works with other MultiDBs projects
The Keyword Search Relational project directly collaborates with MetaStore and PrestoDB Query projects. Once a user enters connection information to a new database in MetaStore, a REST request is sent to us with database information as parameter. Then our programs take actions to generate corresponding SQL queries and send them to PrestoDB team by requesting their REST service. After getting the query results from PresoDB, indexes are built for each entry in the databases for more efficient keyword search.
Use cases:
Use case 1:
MetaStore is able to send REST request to our project once a user enters database information, telling us that a new datasource was added. After receiving request from MetaStore, SQL queries are generated according to the datasource information.
Use case 2:
Our project is able to send REST request to PrestoDB team passing SQL queries and get search results.
Use case 3:
Our project is able to build and update indexes of database records based on the results returned by PrestoDB project.
Use case 4:
Users are able to search for information in all databases by entering one or more keywords. A list of search results are shown on the page containing those keywords, datasource names (id), table names, and column names where the keywords are found.
Figure 1: Home page
Figure 1 shows the home page of our system. A list of all indexes will be shown once you click on "Show all" button. The results are similar to the example shown in Figure 2.
Figure 2: All indexes
Users can type one or more keywords in the input box and find the results as shown in Figure 3.
Figure 3: Search results