Coder Social home page Coder Social logo

godzilla5111 / goalgo-v1 Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 1.37 MB

GoAlgo - A search engine for DS-Algo problems and concepts.

Home Page: https://goalgo-1.herokuapp.com/

License: MIT License

Procfile 0.10% Python 21.16% Shell 0.32% JavaScript 0.98% CSS 3.46% HTML 73.98%
data-structures-and-algorithms flask flask-application flask-sqlalchemy heroku-app python search-engine bootstrap css html javascript

goalgo-v1's Introduction

GoAlgo-v1.0

About GoAlgo

image

What is GoAlgo?

GoAlgo is a search engine, i.e nothing but a software system designed to carry out web searches. It scans its corpus (consisting of a whopping 6500+ documents!) in a systematic way for particular information specified in a textual web search query. The top 5 search results are presented in a line of results, referred to as search engine results pages.

Notably, GoAlgo is a Vertical Search Engine. Vertical search, or specialized search, is a way of narrowing your search to one topic category, rather than the entirety of the web.
In the case of GoAlgo, the specific topic it deals with is 'Commonly used Data Structures and Algorithms and problems based upon them.'

Some other examples of vertical search engines include:

  • The search bar on shopping sites like eBay and Amazon
  • Google Scholar, which indexes scholarly literature across publications
  • Searchable social media sites and apps like Pinterest

How does it work?

Using GoAlgo is easy, isn't it? You open up the search page, type a few words into the search bar, and voilà — a list of top 5 of results appear, in mere seconds!

image
But under the hood, a lot of heavy lifting is being done. Search engines out there in the wild are pretty complex when it comes to the algorithms they use.

GoAlgo follows a pretty basic formula. It's a simple two step process -

Step 1. Search

When you enter your, GoAlgo must first preprocess your words into relevant terms. This is done via a host of techniques including natural language processing. The output of this initial translation process is a rewritten query that identifies the important parts of your query, corrects misspellings, lemmatizes the query, converts numbers to their word-equivalents etc. GoAlgo then skims through its corpus to find web pages that match the rewritten query.

Step 2. Rank

A single search may turn up thousands of relevant documents, so part of the job of GoAlgo is to sort these listings using some ranking algorithm. And although these algorithms are designed to provide you with the best answers to your questions, they are biased towards certain factors. GoAlgo wants you to show you results that you’ll click on, and they use a variety of factors to rank results according to what it think syou’ll engage with.

image

GoAlgo uses Okapi BM-25 algorithm to present you with a list of top-5 results prioritized by what it thinks will best answer your query.

So, in a nutshell, that was all about the working of GoAlgo.

Steps to Build the App Locally

Getting started

  1. Clone this repo: git clone https://github.com/Godzilla5111/GoAlgo-v1.git
  2. Change to the repo directory: cd GoAlgo-v1
  3. If you want to use virtual environment: conda create --name
    To activate the environment : conda activate --name
    To deactivate the environment : conda deactivate
  4. Install dependencies with pip or conda: pip install -r requirements.txt or conda install -r requirements.txt
  5. Make sure to activate the environment. Then open the command line and run the app: python app.py

goalgo-v1's People

Contributors

godzilla5111 avatar

Stargazers

 avatar Shahaban Mallick avatar

Watchers

 avatar

Forkers

suraj838

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.