Skip to content

Reyansh4/DE_Course_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OBJECTIVE

Develop a Video Search Engine Application with a comprehensive GUI.

KEY FEATURES

Integrated use of MongoDB, Neo4j, and MySQL databases for a comprehensive video search engine. Utilizing MongoDB for efficient video file indexing, Neo4j for managing video relationships, and MySQL for storing relational information, including crucial click through data.

TECH STACK

Python MongoDB MySQL Neo4J
dependency - Kivy dependency - mysql-connector-python dependency - neo4j dependency - pymongo

WORKING

USAGE

The way to use the app is clearly described in the Presentation.
or watch the tutorial regarding the working of the app that i uploaded on youtube.

SETTING UP THE DB'S

  • The SQL is setup by using the MySQL-connector-python and initially we create two tables named as STATS and ENGAGEMENT and query in the above tables. Thw stats part in the .json files is stored in the SQLDB.
  • The MongoDB is used for the querying the keyword and return the best matching document videoID. Initially the data in MongoDB is added by the PyMongo Library. The complete document is stored in the DB excluding the stats part in the .json file.
  • The Neo4j is used to get the related videos to the searched videoID. Our DB has a node for every videoID. The node has attributes like videoID,Title,Tags,channelType as the node properties. so we used the TAG CLUSTERING to get the related videos. Every node is related to another node if they have same tags and the relation that is formed is [:RELATED]. this later helps us in getting the recommended videos. with a single videoId we get the other related videoID's.

BACKEND LOGIC

Our logic behind the working was Initially we search the Keyword that is typed in the Search Query. That Keyword is searched in the MongoDB for the first best result. The queried VideoID is returned. The VideoId's is then used and queried in the Neo4j DB for the Related videos and this will return the videoID's we then query the details of the returned videoID's. The MongoDB returns the other data related to the specific videoID and the MySQL database returnd the statistics in stored for the particular videoID.

DATASET

The Dataset is available here. Extract the .tar .gz file and retrive the .json files. There are 500 .json file zipped in the tar file. Both the tar and dataset are available in the Repository for the easy demonstration purpose. The format in which the .json files contains the data is represented below.

HAPPY CODING!!!....

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages