У меня есть файл ARPA размером почти 1 ГБ. Я должен сделать поиск в нем менее чем за 1 минуту. Я много искал, но пока не нашел подходящего ответа. Я думаю, что мне не нужно читать весь файл. Мне просто нужно перейти к определенной строке в файле и прочитать всю строку. Строки файла ARPA имеют разную длину. Я должен упомянуть, что файлы ARPA имеют определенный формат.
Формат файла
\data\ ngram 1=19 ngram 2=234 ngram 3=1013 \1-grams: -1.7132 puluh -3.8008 -1.9782 satu -3.8368 \2-grams: -1.5403 dalam dua -1.0560 -3.1626 dalam ini 0.0000 \3-grams: -1.8726 itu dan tiga -1.9654 itu dan untuk \end\
Как вы видите в примере файла, у меня есть 19 строк по 1 грамму, 234 строки по 2 грамма и 1013 строк по 3 грамма. Я отдаю строковую часть строки программе и получаю числа слева и справа от строки. Входная строка может помочь мне узнать, в какой части файла мне нужно выполнить поиск. Мне нужно найти способ не читать файл полностью, потому что мой файл очень большой и чтение всего файла занимает много времени. Я думаю, что это хороший способ перейти к определенной строке в файле без использования индексного файла и доступа ко всей строке.
Будет здорово, если вы поможете мне выполнить мое задание.