공백으로 구분 된 URL이 포함 된 30KB 텍스트 파일이 있습니다. 사용자가 입력 한 문자열을 텍스트 파일의 문자열과 비교하여 확인해야합니다. 이를 수행하는 가장 효율적인 방법은 무엇입니까?
(파일 크기는 최대 80kb까지 증가 할 수 있습니다.)
저는 30MB, 1GB, 1TB 파일을 다룹니다. 30KB는 작게 들리지만 상황에 따라 매우 클 수 있습니다. 많은 방문자로 인해 서버가 매우 바쁘고 방문자가 많은 동안 해당 작업을 수행하고 싶다고 가정하면 서버는 확실히 서버 부하가 높을 것입니다. 이 문제를 해결하는 데 도움이되는 효율적인 알고리즘이나 도구에 대해 생각하는 것이 좋습니다.
질문 : 데이터가 Redis에 유지되지 않는 이유는 무엇입니까? Redis 측에서 전체 텍스트 검색을 쉽게 수행 할 수 있습니다. 이것이 불가능하다면 Node.js 측에 전체 텍스트 검색 엔진을 연결하거나 효율적인 검색 알고리즘을 생각해보십시오.
내가 할 일은 다음과 같습니다.
예를 들어 다음 텍스트가있는 경우 단어를 색인으로 저장합니다.
Lorem Ipsum은 인쇄 및 조판 업계의 더미 텍스트입니다. Lorem Ipsum은 알려지지 않은 프린터가 유형의 갤리를 가져 와서 유형 견본 책자를 만들기 위해 스크램블 한 1500 년대 이후로 업계의 표준 더미 텍스트였습니다. 그것은 5 세기뿐만 아니라 본질적으로 변하지 않은 전자 조판으로의 도약에도 살아 남았습니다. 1960 년대에 Lorem Ipsum 구절이 포함 된 Letraset 시트가 출시되면서 대중화되었으며, 최근에는 Lorem Ipsum 버전을 포함하는 Aldus PageMaker와 같은 데스크톱 출판 소프트웨어로 대중화되었습니다.
이 텍스트를 크롤링하고 큰 텍스트 내에서 각 단어와 해당 위치를 저장합니다.
Lorem
에있다 0
Ipsum
에있다 7
Lorem
이후 텍스트에 다시 표시 되면 Lorem
키 ( Lorem: 0,118
)에 추가하기 만하면됩니다.
그런 다음 쉽게 키를 검색하고 해당 단어가 있는지 여부를 확인할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다