>  기사  >  백엔드 개발  >  우리는 큰 단점에도 불구하고 다른 검색 엔진보다 Meilisearch를 선택했습니다.

우리는 큰 단점에도 불구하고 다른 검색 엔진보다 Meilisearch를 선택했습니다.

WBOY
WBOY원래의
2024-07-29 07:20:23454검색

타사 검색 엔진에 리소스를 투자할 가치가 있나요? 이유는 다음과 같습니다.

우리는 다가오는 출시를 위해 매일 Hexmos의 제품 피드백을 개선하기 위해 지속적으로 노력하고 있습니다.

새로운 기능과 페이지가 추가되고, UI가 변경되고, 버그가 발견 및 수정되고, 제품에 많은 변화가 일어나고 있습니다. 제품이 성장함에 따라 제품 전체에 대한 탐색 기능을 개선해야 한다는 것을 깨달았습니다.

다른 화면으로 이동하기 위한 사이드바와 클라이언트측 검색 패키지 cmdk가 이미 있지만, 다른 사용자 프로필, 팀, 팀 성과 등을 검색하려고 할 때 어려움이 발생하므로 더 나은 통합이 필요합니다. 피드백을 위한 제3자 검색 엔진입니다.

전용 검색 엔진이 있는 또 다른 이유는 FeedZap과 같은 체인에 향후 복잡한 텍스트 검색 작업이 필요한 다른 제품이 있기 때문입니다.

이를 고려하여 당사는 사용 사례와 리소스 가용성에 맞는 강력한 전용 검색 엔진을 구현하는 데 노력을 기울일 계획입니다.

귀하의 요구에 맞는 올바른 검색 엔진을 선택하는 방법

오픈소스 검색엔진, 서버리스, 서버 기반 등 다양한 검색엔진이 있습니다.
올바른 것을 파악하기 전에 현재와 미래의 요구 사항을 포함하여 요구 사항과 인프라를 분석하는 것이 항상 좋습니다.

일부 제품의 경우 검색 가능한 데이터가 적지만 최소한의 조작으로 괜찮은 검색 기능이 필요하지만 전용 서버를 감당할 여유가 없습니다.
다른 제품의 경우 데이터 세트가 더 크고 복잡한 추가 검색 작업이 필요하며 전용 검색 엔진을 로드하기에 충분한 리소스가 있습니다.

이를 바탕으로 몇몇 인기 검색엔진을 리뷰해봤습니다.

적절한 성능이 필요하고 데이터 세트가 작으며 서버를 구입할 여유가 없음

PostgreSQL 전체 텍스트 검색

PostgreSQL을 사용하고 있고 다른 인덱스 기반 데이터베이스를 유지하고 싶지 않다면 PSFTS(PostgreSQL 전체 텍스트 검색)가 좋은 옵션입니다. 그러나 수백만 건의 트랜잭션과 광범위한 데이터 관리를 처리하는 대규모 사용 사례에는 권장되지 않습니다.

블레베

Bleve는 귀하의 프로젝트가 Go 생태계 내에 있는지 고려해야 할 또 다른 옵션입니다. 강력한 서버 기반 검색 엔진 서비스에 의존할 수 없는 경우 권장됩니다. Bleve의 벤치마크 보고서는 다음과 같습니다.

탄티비

Tantivy는 Rust로 작성되었으며 특히 Rust 기반 프로젝트에 유용합니다. 수많은 긍정적인 피드백을 받았으며 고려해 볼만한 좋은 옵션입니다.
We Chose Meilisearch Over  Other Search Engines Despite a Major Drawback

강력한 성능, 대규모 데이터 세트가 필요하고 서버를 구입할 여유가 있음

강력한 성능, 대규모 데이터 세트가 필요하고 서버를 구입할 여유가 있음

서버 또는 클라우드 인스턴스를 소유하고 있고 모든 권한을 갖춘 강력하고 확장 가능한 검색 엔진이 필요한 경우 서버 기반 옵션을 선택하세요.

우리는 고려 사항과 요구 사항을 고려하여 서버 기반 검색 엔진을 선택했습니다. 호스팅할 리소스가 충분하며

에 대한 서버리스 옵션보다 낫습니다.
  • 장기 사용
  • 확장성
  • 다음과 같은 복잡한 검색 작업에 대한 추가 지원:
    • 패싯 검색: 온라인 쇼핑 시 "노트북"을 검색한 다음 패싯 검색을 사용하여 "$1000 미만 가격", "브랜드: Apple" 및 "RAM"과 같은 필터를 선택하여 결과 범위를 좁힐 수 있음을 의미합니다. : 16GB."
    • 다중 검색: 사용자가 항공편, 호텔, 렌터카를 한 번에 검색하고 통합된 결과를 표시할 수 있는 여행 웹사이트를 고려해 보세요.
    • 입력에 따른 검색: 각 키 입력을 기반으로 실시간 검색 결과를 제공합니다.
  • 여러 제품에 대한 공통 검색 시스템입니다.

광범위한 필터링을 거쳐 이 카테고리에서 다음과 같은 4가지 옵션으로 범위를 좁혔습니다.

  1. 메일리서치
  2. 타입센스
  3. PISA 검색
  4. 만티코어

다음은 이들 간의 비교입니다.

Criteria meiliSearch Typesense Pisa Search Manticore
Search-as-you-type yes yes No No
facet search yes yes No No
multiple schema/product support yes yes - yes
RAM usage for 224 MB disk:~305 MB RAM prmary index location is disk primary index location is RAM, for 100MB disk requires 300MB RAM - -
CPU Usage for 12 core machine it uses maximum 6 core github issues related to high cpu usage for 4vCPU handle 104 concurrent search/seconds - -
typo, synonyms handling yes yes - -

PISA 검색과 Manticore 둘 다 우리 애플리케이션에 필요한 입력 시 검색 및 패싯 검색 기능을 제공하지 않기 때문에 필터링했습니다.

여기에서 전체 기사를 계속 읽어보세요: https://journal.hexmos.com/we-chose-meilisearch-over-10-other-search-engines-despite-a-major-drawback/

위 내용은 우리는 큰 단점에도 불구하고 다른 검색 엔진보다 Meilisearch를 선택했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.