NodeJS, Redis 및 Docker를 사용하여 강력한 텍스트 Ranker 작성 방법
검색엔진(그리고 무한한 정보에 대한 접근)이 일상생활에 융합되어 우리 중 많은 사람들이 믿을 수 없이 그들에게 의존하게 되었다.최상의 효과를 얻기 위해서는 구글과 다른 과학 기술 거두들이 설정한 높은 기준 때문에 즉각 검색한 답안이 필요하다.
모든 지연, 지연, 드래그는 사용자의 체험을 방해할 수 있다. 이것이 바로 이 Launchpad 응용 프로그램 알렉시스가 Redis를 주요 데이터베이스로 사용해서 이 장애를 극복하는 이유이다.
이 앱의 창시자인 Bobby Donchev는 RedisAI와 Rediseach의 강력한 기능을 활용해 구문 라이브러리에서 정보를 검색해 질의에 가장 효율적으로 응답한다.PDF의 인덱스를 작성하고 간단한 UI를 사용하여 문서에서 정보를 추출할 수 있습니다.
Redis가 없으면 전체 검색 프로세스가 매우 느려져 Alexis의 기능을 방해합니다.Bobby가 이 프로그램을 어떻게 조합했는지 보여 줍니다.
그러나 계속하기 전에, 우리가 강조하고자 하는 것은, 우리가 당신에게 Redis Launchpad에서 볼 수 있는 일련의 훌륭한 응용 프로그램이 있다는 것입니다.그러니까 꼭 가봐야 돼!
1. 당신은 무엇을 지을 것입니까?
검색 쿼리를 최대 속도로 검색할 수 있는 효율적인 텍스트 검색기를 구축할 것입니다.이 응용 프로그램을 사용하여 중요한 PDF의 인덱스를 작성하고 문서에서 답변을 쉽게 추출할 수 있습니다.
우리는 시간순으로 모든 절차를 완성하고 응용 프로그램 구축에 어떤 구성 요소가 필요한지 강조할 것이다.
2.당신은 무엇이 필요합니까?
RediSearch: 인덱스, 쿼리 및 전체 텍스트 검색엔진
RedisAI: 딥러닝/머신러닝 모델을 실행하여 데이터를 관리하고 지연 시간을 줄임
Redis Streams: 데이터 소모 관리
NodeJS: 소스 오픈, 크로스 플랫폼으로 웹 브라우저 외부에서 JavaScript 코드를 실행
RedisJSON: JSON 데이터 교환 표준 ECMA-404를 본 기기의 데이터 형식으로 실현한다.
3. 건축
검색자의 질의에 대한 해답은 다음 두 단계로 나뉘어 제공됩니다.
RedisAI와 RediSearch 외에도 사용자 모델과 Redis Streams로 구현된 비동기식 작업 프로그램에 RedisJSON을 사용할 수 있습니다.
웹 서버는 다음 엔드포인트가 있는 express 프레임워크를 통해 공개됩니다.
POST /v1/users
POST /v1/login
POST /v1/logout
GET /v1/me
POST /pdf (pdfUpload)
POST /v1/query
프로그램에 등록하고 로그인하면 색인 라이브러리에 문서를 추가할 수 있습니다.PDF를 업로드하면 이벤트가 Redis Streams에 기록됩니다.이후 소비자팀의 한 사람이 접수 사건을 비동기적으로 처리한다.그런 다음 PDF를 처리하고 정리를 적용한 다음 PDF를 Redis 해싱에 저장하고 해싱을 사용하여 인덱스를 작성할 수 있습니다.현재, 서버에 자연 검색을 보낼 수 있으며, 'kubernetes 배치', 'DDD 루트 집합' 등 기본적인 키워드 검색에만 국한되지 않습니다.
반대로, 더 많은 관련 검색을 조회할 수 있습니다.
흐름도
다음은 Alexis가 어떻게 작동하는지에 대한 개요입니다.
이제 PDF와 색인 PDF 내용을 올리고 흐름도에 대한 답안 조회 부분을 분석해 봅시다.
질문에 대답하다
PDF 및 색인 PDF 컨텐트 업로드
4. 시작
1단계: 설치 필수조건
두 번째 단계.클론 저장소
git clone https://github.com/redis-developer/alexis
3단계: 종속성 설치
디렉토리를 alexis로 변경하고 다음 명령을 실행합니다.
npm install
네 번째 단계.프런트엔드 및 백엔드 설정
다음 명령은 서버와 클라이언트 응용 프로그램을 부트하고 Redis 서버와 RedisInsight GUI를 초기화합니다.
npm run bootstrap
다섯 번째.응용 프로그램 시작
npm start
여섯 번째.어플리케이션 액세스
어플리케이션에 액세스하기 위해 열기http://localhost:3000
일곱 번째.RedisInsight 액세스
RedisInsight는 Redis 데이터베이스와 GUI 및 CLI 기반 상호 작용을 수행하고 Redis 기반 애플리케이션을 개발할 때 더 많은 작업을 수행할 수 있는 시각적 도구입니다.Redis 애플리케이션을 설계, 개발 및 최적화하는 기능을 제공하는 일반 데스크탑 GUI 클라이언트입니다.RedisInsight에 대한 자세한 내용을 보려면 여기를 클릭하십시오.
RedisInsight GUI는 다음 링크를 통해 액세스할 수 있습니다http://localhost:8001.
5. 데이터 저장 방식
1단계: 사용자 데이터가 하나의 JSON 파일에 저장됨
{
firstName: string
lastName: string
email: string
password: string
pdfs: Array<{id: string, fileName: string}>
}
2단계: 다음 코드를 사용하여 각 사용자에 대한 재검색 색인을 만듭니다.
FT.CREATE ax:idx:<userId> on HASH PREFIX 1 ax:pdfs:<userId>
SCHEMA content TEXT PHONETIC dm:en
Read the complete blog
Reference
이 문제에 관하여(NodeJS, Redis 및 Docker를 사용하여 강력한 텍스트 Ranker 작성 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/redis/how-to-create-a-powerful-text-ranker-using-nodejs-and-redis-4f8k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)