Date Approved

12-15-2022

Graduate Degree Type

Project

Degree Name

Computer Information Systems (M.S.)

Degree Program

School of Computing and Information Systems

First Advisor

Jagadeesh Nandigam

Academic Year

2022/2023

Abstract

Search engines have changed the way we use the internet. They can search or filter out relevant and valuable content of interest to the users. But many of the applications we use today lack search or are just poor. So how can we leverage the same power of search engines in our applications? This project aims to look at “Full-Text Search” which allows us to do a text-based search in text-intensive data. The search will be performed by matching any, or all words of the query exactly or with some relevancy against the indexes created by the searching tool. The traditional approach to searching is performing a query on the database itself which usually returns the exact match. Searching directly on the database is not desirable because it’s not efficient for full-text search as it involves a large amount of textual data. In this project, I’ve used a search engine tool called Elasticsearch and integrated it with an existing marketplace application that is just a simple website where users would be able to post classified ads to sell their products. I have used Elasticsearch to perform searches on two domains of the application. The first one is the search feature of the website itself. This will be used by the users to search for relevant postings. The second one is the search for the application metrics. This will be used by the administrators. These metrics will contain analytics for the user-posted data, and also infrastructure-related data such as logs, all of which would be generated by performing full-text search and extraction of required data. Also, I’ve used Logstash to ingest data into Elasticsearch from my application, and Kibana for index browsing and data visualization, making use of the whole ELK stack. Elasticsearch is very rich and supports vast use cases. This project looks at the fundamental concepts of Elasticsearch and the features required for my application’s use cases only.

Share

COinS