Architecture of Information Systems
Search Engine

John Samuel
CPE Lyon

Year: 2017-2018
Email: john(dot)samuel(at)cpe(dot)fr

Creative Commons License

Architecture of Information Systems

Outline: Search engine

Search Engine

Search Engine

Target Audience

Front-end development

Search interface

Personalized user experience

Interface: Simple search (One box)

Queries

Search Results



Leonardo da Vinci (October 2017 Google results)

Advanced search (filters)

Filter search results (Multiple boxes)

Artists on Histropedia

Advanced search (filters)

Location of Archaelogical sites (Wikidata)

Advanced search (filters)

Why filters?

Advanced Search in one-box

Operators

Advanced Search in one-box

Mnemonics

Bangs (DuckDuckGo)

Personalized user experience

Time and location (Internationalization)

Weather (weather.com)

Personalized user experience

Past user search queries

User privacy

Backend development

Data collection

Data ownership

Data model (Data and Schema)

Data collection

Data sources

Data collection

Data acquisition

Data collection

Data cleaning and transformation

Data storage

Data Model

Data storage

Document indices and Query Optimization

Document indices

Database Indexation

Query Optimization

Caching

Replication and Backup

Replication(Primary-dependent replica)

Resource management and configuration

Availability (Wikipedia)

Resource management and configuration

Deployment

Packaging

Load balancing

Selective Testing

A/B Testing

Logging

Logging

Why logs?

Logging

Dashboard

Wikimedia (Grafana: 5th October 2017)

Dashboard

Wikimedia (Availability: 5th October 2017)

Dashboard

Dashboard

Security

Login (Wikipedia)

Security

OpenID
Mozilla Persona (2011-2016)

Detecting security vulnerabilities

Application programming interface

API: Data formats

API: (CRUDL) Operations

API: Data dumps

Application programming interface

Interface definition

Human readable Documentation

  1. Read documentation
  2. Develop application to integrate
  3. Add business logic, if any

Machine-readable Documentation

  1. Fully autonomous solution to integrate
  2. Add business logic, if any

Quality of service

Resource usage limits

Quality of service

Security

OAuth

Project

Virtual Library

Project

Target audience

Project

References

References

Image credits