이것은 정보 검색 시스템과 Parser Combinator의 두 가지에 대해 더 많이 배우기 위해 만든 개인 프로젝트입니다.
본질적 으로이 프로그램은 인덱스와 쿼리의 두 가지 명령이있는 대체입니다.
Repo, CD를 디렉토리로 확인하고 'Stack Build'를 실행하십시오.
스택 : https://docs.haskellstack.org/en/stable/readme/
스택은 굉장합니다. 스택을 사용하십시오.
두 가지 옵션이 있습니다.
당황하지 말 것! 이것은 의도 한대로 작동합니다. 이것은 간단한 답장이므로 프로그램이 명령을 실행하기를 기다리고 있습니다. 이 프로그램은 인덱스와 쿼리의 두 가지를 지원합니다.
인덱스 명령은 문서를 색인화하고 검색 준비를합니다. 명령은 두 가지 인수를 취합니다. 첫 번째는 정수 형식의 문서 색인입니다. 두 번째는 Whitespace로 분리 된 단어 목록입니다.
몇 가지 예제 명령 :
인덱스를 재사용하면 이전 문서가 새 문서에 유리하게 삭제됩니다. 따라서 위의 명령을 실행 한 다음 피자를 검색하면 결과가 나오지 않습니다.
단어 목록의 단어는 문자로 구성되어야합니다. 숫자와 기호는 유효하지 않으며 오류가 발생합니다.
쿼리 명령은 이전에 인덱싱 한 문서에서 검색을 실행합니다. 가장 간단한 쿼리는 단일 단어입니다.
그러나 부울 운영자와 조건에 합류함으로써 더욱 진보되고 구체적으로 될 수 있습니다. (또는) 및 & (및), 그렇게 :
이 쿼리를 임의의 길이로 중첩 할 수는 있지만 연산자를 추가하면 쿼리를 실행하는 데 시간이 더 걸립니다. 전체 텍스트 검색 라이브러리가 부울 쿼리를 지원하지 않기 때문에 용어 검색 만 지원하기 때문입니다. 따라서이 응용 프로그램은 (유니온 또는 교차로) 가입해야합니다. 결과 색인은 수동으로 목록을 작성합니다.
또한 각 용어는 파렌에 중첩되어야합니다. 당신이 이상한 LISP 변형에있는 척하면 당신은 괜찮을 것입니다.
빈 명령 만 입력하십시오. Ctrl-D도 작동합니다 (EOF).