A simple fast search engine written in java with the help of the Collection API which takes in multiple queries and outputs results accordingly.

Overview

Simple-Search-Engine

About the project

A simple fast search engine written in java with the help of the Collection API which takes in multiple queries and outputs results accordingly.

How it works

This search engine implements inverted index by mapping each words to their respective locations in the database. Upon running the program a user menu will prompt asking the user "1. Find a person", "2. Print all people" and "0. Exit". The first option helps users find a person (or any specific object based on the type of database being used) based on 3 search stratigies "ALL", "ANY" and "NONE" respectively. The second option prints all the content of the database. Lastly the third option, you guessed it, exits the program.

Search stratigies

As mentioned before there are three search stratigies "ALL", "ANY" and "NONE". "ALL" takes certain words as input and searches the database for a line which contains all the contents from the input, for instance: if the input is "ERICK HARRINGTON" then it will search for content which contains both "ERICK" && "HARRINGTON" (case insensitive). "ANY" searched for a line which contains any of the contents from the input, for instance: if the input is "Erick Harrington" then it will serach for content which contains either "Erick" || "Harrington". "NONE" makes sure it returns all the contents of the database excluding the contents of the input.

Note

The program takes command line argument for the location of the file/database used (at index 1 -> args[1]), if required the program can be modified to take files directly from the main class by uncommenting the line of code directly below the line "Scanner sc = new Scanner(new File(args[1]))" and mentioning the file path. Use java version 13 or greater as the enchanced switch statement used demands it.

You might also like...

Path Finding Visualizer for Breadth first search, Depth first search, Best first search and A* search made with java swing

Path Finding Visualizer for Breadth first search, Depth first search, Best first search and A* search  made with java swing

Path-Finding-Visualizer Purpose This is a tool to visualize search algorithms Algorithms featured Breadth First Search Deapth First Search Gready Best

Oct 20, 2022

Google Search Results JAVA API via SerpApi

Google Search Results JAVA API This Java package enables to scrape and parse Google, Bing and Baidu search results using SerpApi. Feel free to fork th

Dec 18, 2022

OpenGrok is a fast and usable source code search and cross reference engine, written in Java

Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved. OpenGrok - a wicked fast source browser OpenGrok - a wicked fast source br

Jan 8, 2023

Dataflow template which read data from Kafka (Support SSL), transform, and outputs the resulting records to BigQuery

Kafka to BigQuery Dataflow Template The pipeline template read data from Kafka (Support SSL), transform the data and outputs the resulting records to

Jun 1, 2021

filehunter - Simple, fast, open source file search engine

 filehunter - Simple, fast, open source file search engine

Simple, fast, open source file search engine. Designed to be local file search engine for places where multiple documents are stored on multiple hosts with multiple directories.

Sep 14, 2022

We have created a techblog website where a user can post technical posts and edit and update the post accordingly.

TechBlog Introduction - In this project we have created a technical blog website where we have provided functionalities such as 1) SignUp 2) Login 3)

Jan 23, 2022

Search API with spelling correction using ngram-index algorithm: implementation using Java Spring-boot and MySQL ngram full text search index

Search API with spelling correction using ngram-index algorithm: implementation using Java Spring-boot and MySQL ngram full text search index

Search API to handle Spelling-Corrections Based on N-gram index algorithm: using MySQL Ngram Full-Text Parser Sample Screen-Recording Screen.Recording

Dec 4, 2021

Beagle helps you identify keywords, phrases, regexes, and complex search queries of interest in streams of text documents.

Beagle helps you identify keywords, phrases, regexes, and complex search queries of interest in streams of text documents.

Beagle Beagle is a detector of interesting things in text. Its intended use is in-stream search applications. Suppose you need to monitor a stream of

Dec 3, 2022

This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple servers.

OpenSourceSectors 😎 🗒️ This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple s

Dec 28, 2022

Apache Lucene is a high-performance, full featured text search engine library written in Java.

Apache Lucene is a high-performance, full featured text search engine library written in Java.

Apache Lucene is a high-performance, full featured text search engine library written in Java.

Jan 5, 2023

Reads Valheim save data and outputs it to a JSON file

Valheim Save Tools This repository contains two projects. A command line interface tool that converts Valheim save files to and from JSON and processe

Dec 10, 2022

Immutable key/value store with efficient space utilization and fast reads. They are ideal for the use-case of tables built by batch processes and shipped to multiple servers.

Minimal Perfect Hash Tables About Minimal Perfect Hash Tables are an immutable key/value store with efficient space utilization and fast reads. They a

Nov 22, 2022

Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.

An open source rule engine, DMN engine and complex event processing (CEP) engine for Java™ and the JVM Platform. Drools is a business rule management

Dec 31, 2022

RTree2D is a 2D immutable R-tree with STR (Sort-Tile-Recursive) packing for ultra-fast nearest and intersection queries

RTree2D is a 2D immutable R-tree with STR (Sort-Tile-Recursive) packing for ultra-fast nearest and intersection queries

RTree2D RTree2D is a 2D immutable R-tree with STR (Sort-Tile-Recursive) packing for ultra-fast nearest and intersection queries. Goals Main our requir

Dec 14, 2022

Ultra-fast SQL-like queries on Java collections

Ultra-fast SQL-like queries on Java collections

CQEngine - Collection Query Engine CQEngine – Collection Query Engine – is a high-performance Java collection which can be searched with SQL-like quer

Dec 30, 2022

Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.

JITWatch Log analyser and visualiser for the HotSpot JIT compiler. Video introduction to JITWatch video Slides from my LJC lightning talk on JITWatch

Jan 3, 2023

Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.

JITWatch Log analyser and visualiser for the HotSpot JIT compiler. Video introduction to JITWatch video Slides from my LJC lightning talk on JITWatch

Jan 3, 2023
Owner
Adnan Hossain
develop, program, AI, coffee☕
Adnan Hossain
Apache Lucene is a high-performance, full featured text search engine library written in Java.

Apache Lucene is a high-performance, full featured text search engine library written in Java.

The Apache Software Foundation 1.4k Jan 5, 2023
Apache Solr is an enterprise search platform written in Java and using Apache Lucene.

Apache Solr is an enterprise search platform written in Java and using Apache Lucene. Major features include full-text search, index replication and sharding, and result faceting and highlighting.

The Apache Software Foundation 630 Dec 28, 2022
Free and Open, Distributed, RESTful Search Engine

Elasticsearch A Distributed RESTful Search Engine https://www.elastic.co/products/elasticsearch Elasticsearch is a distributed RESTful search engine b

elastic 62.3k Dec 31, 2022
GitHub Search Engine: Web Application used to retrieve, store and present projects from GitHub, as well as any statistics related to them.

GHSearch Platform This project is made of two subprojects: application: The main application has two main responsibilities: Crawling GitHub and retrie

SEART - SoftwarE Analytics Research Team 68 Nov 25, 2022
OpenSearch is an open source distributed and RESTful search engine.

OpenSearch is an open source search and analytics engine derived from Elasticsearch

null 6.2k Jan 1, 2023
Apache Lucene and Solr open-source search software

Apache Lucene and Solr have separate repositories now! Solr has become a top-level Apache project and main line development for Lucene and Solr is hap

The Apache Software Foundation 4.3k Jan 7, 2023
A proof-of-concept serverless full-text search solution built with Apache Lucene and Quarkus framework.

Lucene Serverless This project demonstrates a proof-of-concept serverless full-text search solution built with Apache Lucene and Quarkus framework. ✔️

Arseny Yankovsky 38 Oct 29, 2022
🔍An open source GitLab/Gitee/Gitea code search tool. Kooder 是一个为 Gitee/GitLab 开发的开源代码搜索工具,这是一个镜像仓库,主仓库在 Gitee。

Kooder is a open source code search project, offering code, repositories and issues search service for code hosting platforms including Gitee, GitLab and Gitea.

开源中国 350 Dec 30, 2022
Simple full text indexing and searching library for Java

indexer4j Simple full text indexing and searching library for Java Install Gradle repositories { jcenter() } dependencies { compile 'com.haeun

Haeun Kim 47 May 18, 2022