Architecture – Quickly build a search system

Let’s talk about how to build a simple search system quickly and get started.

Let ‘s Go!


background

Why build a search system? What is the most important problem to solve? Users open your site, there is no search function, can not quickly find the information you want from your site, users may be easy to lose. When searching, most users only know that they want general information at most, such as: when they want to buy cookies, search for “cookies”, the search system is to guess what users want, and then the existing information in the system and users want to find information after matching. A system in which results are obtained and returned to the user. Through this back-and-forth communication process, users may develop a sense of trust in the system and retain them.

System architecture

Advantages:

  • Searchable data is decoupled from the original business data
  • The components of the search system can be rapidly expanded.
  • It can be quickly implemented with only four components (the solid line component in the figure), and the first phase can be quickly brought online
  • Multiple deployment is supported.

Disadvantages:

  • Delay in data update (this can be solved by real-time asynchronous data update)
  • Synchronization service requires manual maintenance (this can be solved by adding synchronization service management system)

System functions are recommended in sequence

The first phase

  • Service data access access
  • Data initialization
  • Periodically synchronize data updates

The second phase of the

  • Service monitoring
  • Log monitoring

The third stage

  • Real-time data asynchronous update
  • Data monitoring and management services

Subsequent extension

  • Big data recommendation and search results mixed display

The last

Service frameworks evolve as the business evolves, and we will have iterations of 1.0, 1.5, and 2.0 architectures. To plan and implement forward-looking, to consider the next three years, five years of capacity. Some system bottlenecks may need to be resolved in advance, and each scenario is different. Choose the most appropriate solution according to the specific scenario.