search.lemuel.co.krLemuel Search라는 이름으로 운영되는 SearXNG 인스턴스다. 이 글은 현재 공개 화면과 공식 문서를 바탕으로 이 서비스의 작동원리, 사이트맵을 이용해 mb!를 검색할 때의 효과, 그리고 SearXNG와 Elasticsearch의 차이를 정리한다.

1. search.lemuel.co.kr의 정체

현재 공개 엔드포인트의 HTML은 SearXNG 버전 2026.6.19+5c38d2fea와 “privacy-respecting open metasearch engine”이라는 설명을 노출한다.[10] SearXNG 공식 문서에 따르면 SearXNG는 여러 검색 서비스의 결과를 모아 보여주는 메타검색 엔진이며, 사용자를 추적하거나 프로파일링하지 않는 것을 목표로 한다.[9]

사용자 질의
  ↓
Lemuel Search(SearXNG)
  ├─ 검색 서비스 A
  ├─ 검색 서비스 B
  ├─ 검색 서비스 C
  └─ 기타 설정된 엔진
          ↓
     결과 수집·정규화·중복 제거·표시

여기서 핵심은 SearXNG가 기본적으로 웹 전체를 직접 크롤링하여 자체 색인을 만드는 검색엔진이 아니라는 점이다. 사용자가 검색하면 설정된 외부 검색 서비스에 질의를 보내고, 응답을 하나의 결과 화면으로 통합한다. 따라서 결과의 범위·속도·품질은 SearXNG 설정과 연결된 각 엔진의 응답 상태에 영향을 받는다.

현재 이 인스턴스의 실제 활성 엔진 목록과 관리자 설정은 공개 화면만으로 확정할 수 없다. 따라서 “Google·Bing·DuckDuckGo가 모두 활성화되어 있다”와 같은 구체적인 주장은 이 글에서 하지 않는다.

2. 사이트맵은 무엇을 하는가

사이트맵은 사이트의 페이지·동영상·파일과 그 관계, 최종 수정 시각 같은 정보를 검색엔진에 제공하는 파일이다. Google은 사이트맵이 검색엔진의 크롤링 효율을 높이고, 특히 규모가 크거나 새롭거나 내부 링크가 부족한 사이트의 페이지 발견을 돕는다고 설명한다.[8]

사이트맵의 역할은 다음과 같다.

사이트맵
  → 검색할 URL 후보를 알려 줌
  → 크롤러가 페이지를 방문
  → 본문을 가져와 분석
  → 검색엔진의 색인에 반영

하지만 사이트맵은 검색 결과를 직접 만드는 데이터베이스가 아니다. URL을 알려 주는 발견·크롤링 보조 수단이지, 모든 URL이 반드시 색인되거나 높은 순위로 노출된다는 보증은 아니다.[8]

3. 여기에서 사이트맵으로 mb!를 검색한다는 의미

“사이트맵으로 mb!를 검색한다”는 표현은 두 가지 방식으로 해석될 수 있다.

방식 A: SearXNG 질의창에서 검색 연산자를 사용

예를 들어 다음과 같이 검색할 수 있다.

site:example.com mb!

이것은 해당 사이트에 관한 결과만 요청하는 검색 질의 제한이다. 사이트맵 파일을 직접 읽는 동작과는 다르다. SearXNG가 외부 검색 엔진에 이 질의를 전달하면, 각 엔진이 보유한 색인 안에서 해당 도메인과 mb!가 포함되거나 관련된 문서를 찾는다.

방식 B: 사이트맵 URL을 직접 열어 URL 목록에서 검색

예를 들어:

https://example.com/sitemap.xml

을 열고 mb!가 URL, 제목, 또는 연결된 페이지에 포함되는지 조사하는 방식이다. 이때는 검색엔진의 본문 색인을 쓰는 것이 아니라 사이트 운영자가 제출한 URL 목록을 확인한다.

두 방식의 차이는 다음과 같다.

방법 찾는 대상 장점 한계
site:도메인 mb! 검색엔진이 색인한 문서 본문·제목·링크까지 검색 가능 색인 누락·엔진별 차이 존재
사이트맵 직접 검색 사이트가 공개한 URL 목록 새 URL·고립 페이지 후보 발견 본문 검색이 아니며 실제 색인 보장 없음
사이트맵 URL을 SearXNG에 질의 검색엔진이 색인한 사이트맵 문서 공개 사이트맵 자체의 존재 여부 확인 하위 문서 내용을 자동으로 모두 검색하지 않음

4. mb! 검색의 효과

mb!가 고유한 문자열이라면 일반적인 단어보다 검색 식별자로 유리하다. 그러나 효과는 mb!가 어디에 존재하는지에 따라 달라진다.

  • URL에 포함되어 있으면 사이트맵 직접 검색에서 발견될 가능성이 있다.
  • 페이지 제목이나 본문에만 포함되어 있으면 사이트맵만으로는 찾을 수 없고, 해당 페이지를 크롤링한 검색엔진 색인이 필요하다.
  • 검색엔진의 특수문자 처리 규칙에 따라 mb!mb로 정규화되거나 느낌표가 무시될 수 있다.
  • 사이트맵에 URL이 있어도 robots 규칙, 접근 제한, 중복·정규화, 품질 판단 때문에 색인되지 않을 수 있다.
  • SearXNG를 거쳐 검색하면 실제 검색은 연결된 외부 엔진에서 수행되므로 엔진마다 결과가 다를 수 있다.

따라서 사이트맵은 mb!의 “전체 본문 검색” 도구가 아니다. 가장 효과적인 점검 순서는 다음과 같다.

1. robots.txt에서 sitemap 위치 확인
2. sitemap.xml 또는 sitemap index 확인
3. URL 목록에서 mb! 문자열 검색
4. 후보 URL을 직접 요청해 HTTP 상태 확인
5. SearXNG에서 site:도메인 mb! 검색
6. 페이지 본문·제목·canonical을 직접 대조

이 과정을 통하면 “사이트에 URL이 존재한다”, “페이지가 HTTP로 열리는가”, “검색엔진이 색인하고 있는가”를 구분할 수 있다.

5. Elasticsearch의 검색 원리

Elasticsearch는 검색 요청 때마다 외부 검색엔진에 같은 질의를 중계하는 메타검색 서비스가 아니다. 문서를 Elasticsearch에 색인할 때 텍스트를 분석하고 토큰으로 나눈 뒤, 토큰에서 문서로 역방향으로 연결되는 역색인(inverted index)을 만든다.[7]

문서 입력
  ↓
분석기: 토큰화·소문자화·불용어·언어 처리
  ↓
역색인
  token → [문서 ID, 빈도, 위치 등]
  ↓
검색어 동일 분석
  ↓
후보 문서 조회·점수 계산·정렬

Elastic 공식 문서는 역색인을 용어 사전과 posting list로 설명한다. 기본 유사도 알고리즘은 Okapi BM25이며, 용어 빈도·문서 빈도·문서 길이를 이용해 관련도 점수 _score를 계산한다.[7]

따라서 Elasticsearch에서는 데이터 수집·파싱·분석·색인이 먼저 필요하다. 인덱스에 들어오지 않은 문서는 검색할 수 없다. 반대로 한번 색인된 문서는 자체 역색인에서 빠르게 찾아낼 수 있고, 필드별 가중치·필터·기간·정확한 구문·벡터 검색 같은 애플리케이션별 제어가 가능하다.

6. SearXNG와 Elasticsearch 비교

구분 SearXNG Elasticsearch
기본 역할 여러 검색 서비스 결과를 모으는 메타검색 애플리케이션이 보유한 문서의 검색·분석 엔진
색인 위치 연결된 외부 검색 서비스 운영자가 관리하는 자체 인덱스
크롤링 자체 웹 크롤러가 핵심이 아님 별도 수집기가 문서를 넣어야 함
질의 시점 외부 엔진에 실시간 질의 후 통합 역색인 조회 후 점수·필터링
사이트맵 효과 외부 엔진이 사이트맵으로 발견·색인한 결과에 간접 영향 수집 파이프라인이 사이트맵을 읽어 색인할 때 직접 영향
랭킹 외부 엔진별 랭킹을 통합·정렬 BM25, 필터, function score, 벡터·하이브리드 등 제어 가능
적합한 용도 공개 웹 조사·프라이버시 중심 검색 사내 문서·상품·로그·RAG·감사 데이터 검색

둘은 경쟁 제품이라기보다 계층이 다르다. SearXNG는 “인터넷에 이미 존재하는 검색 서비스들을 어떻게 질의할 것인가”의 문제를 해결한다. Elasticsearch는 “내가 확보한 데이터를 어떻게 분석하고 빠르게 찾을 것인가”의 문제를 해결한다.

7. 검색·사이트맵·색인을 연결하는 산업적 구조

mb! 같은 고유 키를 추적하는 작업은 다음 세 층을 구분할 때 정확해진다.

발견층:
  사이트맵·내부 링크·외부 링크

수집층:
  크롤러·문서 파서·접근 권한·중복 제거

검색층:
  SearXNG 외부 엔진 질의 또는 Elasticsearch 역색인 질의

산업 현장에서는 이 구조가 상품 카탈로그, 기술문서, 장애 로그, 법무 문서, RAG 지식베이스에 그대로 적용된다. 사이트맵은 “무엇이 존재할 수 있는가”를 알려 주고, 수집기는 실제 내용을 가져오며, 검색엔진은 질의와 관련도를 계산한다. 세 층을 한꺼번에 검색엔진이라고 부르면 누락과 색인 지연을 원인으로 잘못 해석하기 쉽다.

결론

search.lemuel.co.kr은 현재 공개 확인 기준으로 SearXNG 기반 메타검색 서비스다. 사이트맵으로 mb!를 찾는 방법은 URL 목록에 직접 문자열이 있는지 확인하는 데 유효하지만, 페이지 본문 전체를 검색하거나 색인을 보장하는 방법은 아니다. 본문 검색은 SearXNG가 연결한 외부 검색엔진의 색인 또는 별도 Elasticsearch 색인이 담당한다.

SearXNG:
  외부 검색 서비스를 조합해 공개 웹을 찾음

사이트맵:
  크롤러에게 URL 후보와 갱신 정보를 알려 줌

Elasticsearch:
  수집한 문서를 역색인하고 BM25 등으로 관련도를 계산함

따라서 검색 품질을 높이는 가장 현실적인 설계는 사이트맵으로 발견 → 수집·정규화 → Elasticsearch 색인 → SearXNG 또는 애플리케이션 검색으로 보완하는 구조다. 이때 mb!의 검색 효과는 문자열 자체보다 URL·제목·본문 중 어느 필드에 있고, 해당 문서가 언제 어떤 색인에 들어갔는지에 의해 결정된다.

References

[1] Lemuel Search

[2] SearXNG Documentation

[3] Google Search Central — Learn about sitemaps

[4] Elastic — How full-text search works

이 글에서 Lemuel Search의 공개 HTML은 확인했지만, 실제 활성 검색 엔진 목록과 관리자 설정은 공개 상태에서 확인하지 못했다. 따라서 특정 외부 엔진의 활성 여부나 mb!에 대한 실제 검색 결과 순위는 단정하지 않는다.