1P by GN⁺ | ★ favorite | 댓글 1개
  • Marginalia Search는 “멋진 인터넷”을 찾기 위한 작은 실험에서 출발해 3년 만에 전업 프로젝트가 되었고, 검색 엔진도 지금까지 가장 안정적인 상태에 가까워짐
  • 올해의 핵심 작업은 운영 부담을 낮추고 다른 운영자·개발자가 다루기 쉽게 만드는 코드베이스 정리와 애플리케이션 단순화였음
  • 예전에는 인덱스 전환에 며칠간 중단이 필요했지만, 이제는 전환 중단이 사라졌고 최근에는 무중단 업그레이드도 가능해짐
  • 검색 품질은 앵커 텍스트 키워드 지원 이후 개선됐으며, 관련성 신호가 자리 잡으면서 결과를 찾는 능력이 크게 좋아짐
  • 10억 개 문서 인덱싱 목표는 계속 진행 중이지만 웹의 신호 대 잡음비가 낮아 예상보다 어렵고, 다음 초점은 쿼리 파싱과 실행 개선임

실험에서 전업 프로젝트로 바뀐 3년

  • Marginalia Search는 3년 전 작은 실험으로 시작했고, 지금은 전업으로 작업하는 프로젝트가 됨
  • 검색 엔진은 아직 개선할 점이 남아 있지만, 현재까지의 상태 중 가장 잘 작동하는 수준으로 평가됨
  • 가장 큰 이정표 중 하나는 검색 엔진이 거실을 벗어나 엔터프라이즈 서버로 옮겨간 일임
  • 올해는 운영 부담을 감당 가능한 수준으로 낮추고, 다른 운영자와 개발자가 접근하기 쉽도록 코드베이스와 애플리케이션을 정리하는 데 집중함
  • 운영 방식도 크게 달라짐
    • 예전에는 인덱스 전환 때 며칠간 서비스 중단이 필요했음
    • 이제 인덱스 전환 중단은 사라짐
    • 최근에는 무중단 업그레이드도 가능해짐
    • 과거 몇 주짜리 수동 프로세스였던 작업 중 많은 부분이 GUI에서 버튼을 누르는 방식으로 바뀜

검색 품질과 인덱스 확장

  • 검색 관련성에는 앵커 텍스트 키워드 지원이 큰 영향을 줌
    • 변경 직후에는 통합이 충분하지 않아 효과가 바로 분명하지 않았음
    • 새 관련성 신호가 자리 잡은 뒤 검색 엔진이 관련 결과를 찾는 능력이 크게 좋아짐
  • 프로젝트는 NLnet의 지원 덕분에 약 8개월 전부터 전업 작업이 됨
    • 너무 많이 일하지 않는 것이 어려운 부분으로 남아 있음
    • 최소 주 1일 휴식을 시도하고 있으며, 잘 쉬었을 때 더 똑똑하게 일할 수 있다고 봄
  • 10억 개 인덱싱 문서 목표는 계속 진행 중임
    • 어려움은 소프트웨어 처리 능력보다 웹의 신호 대 잡음비가 좋지 않다는 점에 있음
    • 검색 엔진이 상대적으로 잘 작동하는 큰 이유 중 하나는 무엇을 인덱싱하지 않느냐에 있음
    • 인덱스 규모는 1년 전 5,000만~1억 개에서 지난 크롤 기준 2억 2,000만 개로 늘어남
    • 다음 크롤 라운드가 끝나면 이미 완료된 두 파티션의 성장세를 기준으로 2억 9,000만~3억 개가 될 가능성이 있음

다음 개선 방향과 후원

  • 다음 개선 대상은 쿼리 파싱과 실행
    • 이 영역에는 개선 여지가 많음
    • 본격 작업 전 영향을 받는 코드를 정리하는 준비 작업이 진행 중임
  • 프로젝트의 큰 도약은 항상 실험에서 나왔고, 계획된 작업이 있어도 실제로 큰 변화를 만드는 것은 앵커 텍스트처럼 계획되지 않은 것일 가능성이 큼
  • NLnet, FUTO, Patreon 후원자, 지지자, 사용자에게 감사를 전함

댓글과 토론

Hacker News 의견들
  • 이걸 북마크해두고 수치 모델링의 초니치 자료를 찾는 데 쓰고 있음
    솔버, 메시 생성, 최적화 방법 관련해서 찾아주는 자료가 Google에서 찾을 수 있는 것보다 훨씬 좋고, 80~90년대 자료도 잘 나옴
    기성 상용 패키지만 쓰지 않는 입장에서는 이런 지식과 Fortran 코드 예제를 찾을 수 있는 게 매우 가치 있음

    • Marginalia에서 Google보다 더 쉽게 찾을 수 있었던 니치 전문가 페이지 예시가 있는지 궁금함
  • 맞음, 이건 예전 검색이랑 정말 비슷함
    “all quiet on the western front book movie differences” 같은 검색을 못 찾는다고 해도, 1998년 AltaVista에서도 그런 식으로는 못 찾았음
    대신 “all quiet on the western front”만 치면 개인 블로그 같은 희귀한 사이트들이 많이 나오고, “polytopes”를 치면 대학 논문과 코드 사이트가 나오며, “rust generics”도 메일링 리스트 토론, 블로그, Rust 토론 그룹, 개인 웹사이트, 전문적인 논의가 나옴
    이게 바로 예전 웹 검색이었고, 궁금한 건 장기적으로 이걸 어떻게 재정적으로 지속할 수 있느냐임

    • 지금은 보조금과 기부로 운영 중이고, 그 덕분에 몇 년 정도의 여유가 있음
      실제 운영비는 코로케이션 월 100달러 정도에 개인 생활비가 전부라 들어오는 돈이 생각보다 오래 감
      앞으로는 더 다듬으면 비슷한 생각을 가진 사람들로부터 추가 자금이 생기거나, 다른 검색엔진에 API 접근을 파는 방식도 가능할 수 있음
      검색은 광고 외에는 돈 벌기 어렵기로 유명하지만, 비용이 낮으면 꽤 합리적인 길이 될 수 있어 보임
  • “transformers intuition”을 검색해봤는데 결과가 정말 인상적이었음
    Google은 SEO된 사이트, 주로 Medium과 겉보기만 번지르르하고 내용은 떨어지는 사이트로 이어졌는데, Marginalia는 훨씬 나았음

  • 출시 6개월 만에 이미 잘 작동하면서도 동시에 애매했던 면을 보여주는 회고성 스레드: https://news.ycombinator.com/item?id=28550764
    다만 지금 기본 필터에는 Reddit, Stack Exchange, Wikipedia 결과가 조금 너무 많은 것 같음

  • 가장 와닿은 부분은 이거였음
    예상보다 어렵다는 건 소프트웨어가 감당을 못 해서가 아니라, 웹의 신호 대 잡음비가 좋지 않기 때문이고, 이 검색엔진이 비교적 잘 작동하는 큰 이유는 무엇을 색인하지 않는지에 있음

  • Marginalia를 Google에 익숙해서 자주 쓰지는 않지만, 프로젝트 자체는 훌륭함
    스팸성 SEO 사이트와 AI 생성 답변이 점점 많아지는 것 같아서 앞으로 더 자주 쓰게 될 듯함

    • 아직 일상용 기본 검색엔진으로 쓰기에는 시간이 좀 더 필요할 듯함
      낙관적으로는 이번 여름쯤 질의와 실행 관련 작업을 끝내면 그 수준에 가까워질 수 있음
  • Viktor에게 궁금한데, Common Crawl [0]이 도움이 될 수 있을지 모르겠음
    현재 약 100TB와 33.5억 페이지 규모라 S3에서 바로 처리하지 않으면 다운로드가 오래 걸릴 것이고, 신호 대 잡음비는 잘 모르겠음
    [0] https://commoncrawl.org/overview

  • 멋진 검색엔진임
    곧 소스도 살펴볼 생각인데, “ROME2D16-2T”를 검색했더니 난해한 출처에서 관련 결과가 나왔고 유용했음

  • 최근 Google 검색 3개를 시험해봤음
    “india test cricket lowest total”은 좋은 결과나 답이 없었고, “raid calculator”는 결과가 괜찮지만 raid라는 단어 때문에 Pokemon 저장/치트 편집기 페이지 같은 잡음도 섞였음
    “all quiet on the western front movie book differences”는 결과가 0개로, 아예 빈 페이지였음

    • 이 검색엔진은 지금 단계에서 지식 그래프를 제공하려는 목표가 없음
      질문에 답하기보다는 인터넷의 문서를 찾기 위한 도구이고, 답변 기능은 원할 만한 것이지만 종종 문서 찾기 능력을 희생하게 됨
      Pokemon 결과는 “raidcalc”라는 애플리케이션을 다룬 것이어서, 사용자를 전혀 프로파일링하지 않고 관심사를 모르는 검색엔진 입장에서는 꽤 좋은 일치로 보임
      “all quiet on the western front movie book differences”는 질의 길이 상한에 걸린 것 같은데, 예전에 긴 질의를 잘 처리하지 못하던 시절의 오래된 흔적이라 제거할 수 있을 듯함
      제한을 늘려봤지만 여전히 결과가 그다지 좋지 않았고, 이건 다음 작업인 질의 이해와 실행 영역에 정확히 들어감
      지금 검색엔진은 사람이 보듯 all quiet on the western front는 하나의 구로 보고 제목에 있거나 여러 번 등장하면 좋고, movie, book, differences는 문서에서 중요하지만 꼭 정확한 순서로 나올 필요는 없다는 식으로 묶어 이해하지 못함
      현재는 모든 단어가 가까이 등장하는 문서나, 개별 단어들이 높은 tf-idf 관련도를 갖는 문서를 찾는 방식이라 이 질의에는 적합하지 않음
  • 흥미로움. 누군가 그냥 재미로 C&C Tiberian Sun에 IPv6 지원을 넣으려고 바이너리 패치한 임의의 웹사이트 [0]를 찾았음
    그립던 옛 웹 느낌이 강하게 남
    이상하게도 Fravia의 Searchlores [1]가 떠올랐는데, Umberto Eco가 컴퓨터에 관심을 가졌다면 이런 느낌이었을 것 같음
    사이트 자체도 The Name of the Rose의 도서관 미로처럼, 아무 모퉁이나 돌면 놀라운 걸 발견했다가 나중에는 영영 잃어버리는 느낌이었음 :D
    [0] http://ts.sesse.net/
    [1] https://www.biostatisticien.eu/www.searchlores.org/indexo.ht...