Мне нужно внедрить поисковую систему. Поэтому у меня есть словарь, который является хеш-таблицей, и он состоит из слов. Кроме того, у меня есть некоторые тексты, мне нужно перебирать все тексты и помещать в файл публикации текстовый номер и место каждого слова в текстах.Обновление файла публикации с новыми данными в C#
Поэтому каждый раз, когда у меня есть какое-то слово, и это слово уже существует в файле проводки, мне нужно добавить другое вхождение этого слова, то есть обновить эту строку, где это слово находится в файле проводки. Но так как файл проводки выглядит примерно так:
word1: 1(2,4,5) 4(66,42,21)
word2: 1(3,66) 6(12,19)
Я не могу написать что-то новое в строке 1, потому что будет влиять на линии 2, как я понимаю.
Итак, вопрос в том, как я могу это сделать? Могу ли я каким-то образом вместо того, чтобы просто писать строки в файл, написать некоторую структуру данных? как хэш-таблица? поэтому для каждого слова в файле проводки будет хеш-таблица, и если я увижу, что слово уже существует в файле проводки, я прочитаю его хэш-таблицу, обновит ее и переписал в файл.
Или есть что-то лучше?
Спасибо заранее,
Грег
Можете ли вы упростить свой вопрос и сделать его более прямым? Это немного расплывчато для меня. Например: «У меня есть 5 ТБ текстовых файлов на диске, и мне нужно иметь возможность искать их в течение <1 секунды. У меня есть xyz до сих пор. Куда мне идти дальше?» –
Для упрощения: У меня есть текстовый файл с данными на словах: word1: данные данные данные WORD2: данные данные данные данные word3: данные данные .. Я знаю слово, что я должен добавить некоторые данные в нем так Я хочу перейти к этому конкретному месту в файле и добавить данные (без удаления данных из следующего слова по ошибке) Например, я хочу добавить новые данные в word2. Как мне это сделать? – 2009-12-19 09:40:14