-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Blogsearch into the product list (#24)
- Loading branch information
Showing
5 changed files
with
53 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
--- | ||
layout: article | ||
title: Blogsearch | ||
show_title: true | ||
subtitle: > | ||
Searching blog posts in Jekyll, a popular static website generation. | ||
image: /assets/patterns/pawel-czerwinski-fPN1w7bIuNU-unsplash.jpg | ||
cover: /assets/patterns/pawel-czerwinski-fPN1w7bIuNU-unsplash.jpg | ||
article_header: | ||
type: overlay | ||
theme: dark | ||
background_color: "#203028" | ||
background_image: | ||
gradient: "linear-gradient(135deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .4))" | ||
--- | ||
|
||
{% comment %} | ||
The target readers are prospects who want to hire me as a freelancer to implement similar solutions in Elasticsearch. | ||
{% endcomment %} | ||
|
||
## Overview | ||
|
||
[Blogsearch](https://bs.nanosearch.io) is a simple site search solution for websites built on top of the popular blog engine [Jekyll](https://jekyllrb.com/) and the Jekyll TeXt Theme. It is currently used by 3 websites for searching blog posts: <https://mincong.io>, <https://nanosearch.io>, and <https://jingwen-z.github.io>. It is built on top of Java and Elasticsearch. | ||
|
||
![Blogsearch demo](/assets/2024-08-15-blogsearch-demo.gif) | ||
|
||
## Core Components | ||
|
||
Blogsearch contains multiple components: a web component in the client's website, a Jekyll plugin for indexing blog posts during content generation, a backend service, and the underlying infrastructure. | ||
|
||
* For the web component, Blogsearch uses JavaScript to search the articles using UI, modified from the existing search bar of the Jekyll TeXt Theme. A new query is sent to the backend for each character entered into the search bar. | ||
* For the Jekyll plugin, Blogsearch uses a Ruby plugin to reach the metadata of each blog post, including the title and the content, and send them to the backend API for indexing. The credentials are stored in GitHub secrets. | ||
* For the backend service, Blogsearch uses Java RESTful APIs. The API is generated by OpenAPI. | ||
* For the infrastructure, Blogsearch uses AWS Elastic Container Service (ECS) as the orchestration platform. The data are stored in Elastic Cloud and Mongo Atlas. | ||
|
||
You can find more details in this [blog post](https://mincong.io/en/blogsearch-architecture/) about the architecture of Blogsearch. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters