Widescale은 Golang으로 작성된 전체 텍스트 인덱싱 및 검색 엔진입니다. Widescale은 전적으로 교육 목적을위한 것입니다. 그것은 여러 문서에 걸쳐 많은 양의 텍스트 내에서 단어 나 단어 그룹을 검색하는 간단한 API를 제공합니다. 내부적으로 Widescale은 Elasticsearch와 유사한 역 지수를 사용합니다. 자세한 내용은이 기사를 참조하십시오.
여러분에게 제안이 있으면 알려주세요.
Elasticsearch에 대해 읽는 동안 거꾸로 된 색인을 발견했습니다. 왜 그것을 사용하는지 이해하려면 여기에 Wikipedia 기사에서 발췌 한 것입니다.
소수의 문서를 처리 할 때는 전체 텍스트 검색 엔진이 "Serial Scanning"이라는 전략 인 각 쿼리와 함께 문서의 내용을 직접 스캔 할 수 있습니다. 검색 할 때 GREP와 같은 일부 도구가하는 일입니다.
그러나 검색 할 문서 수가 잠재적으로 크거나 수행 할 검색 쿼리 수량이 상당한 경우 전체 텍스트 검색 문제는 종종 인덱싱 및 검색의 두 가지 작업으로 나뉩니다. 인덱싱 단계는 모든 문서의 텍스트를 스캔하고 검색어 목록 (종종 색인이라고 함)을 작성합니다. 검색 단계에서 특정 쿼리를 수행 할 때 원본 문서의 텍스트가 아닌 색인 만 참조됩니다.
나는 그보다 더 나은 설명을 할 수 있다고 생각하지 않았다.
go 설치 경로를 추가하십시오. > go get github.com/gorilla/mux
> go get github.com/anubhavp28/WideScale/
> go install github.com/anubhavp28/WideScale/
서버를 시작하려면 간단히 실행하십시오.
> cd $(go env GOPATH)/bin
> widescale <path-to-dir-containing-txt-files-to-index>
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 License.md 파일을 참조하십시오.