Обновление файла публикации новыми данными в C # - PullRequest
0 голосов
/ 19 декабря 2009

Мне нужно реализовать поисковик. Итак, у меня есть словарь, который является хэш-таблицей и состоит из слов. Также у меня есть несколько текстов, мне нужно просмотреть все тексты и поместить в файл публикации номер текста и место каждого слова в текстах.

Таким образом, каждый раз, когда у меня есть вхождение некоторого слова, и это слово уже существует в файле публикации, мне нужно добавить еще одно вхождение этого слова, что означает обновление той строки, где слово находится в файле публикации. Но поскольку файл публикации выглядит примерно так:

word1: 1(2,4,5) 4(66,42,21)
word2: 1(3,66) 6(12,19)

Я не могу написать что-то новое в строке 1, потому что, как я понимаю, это повлияет на строку 2.

Итак, вопрос в том, как я могу это сделать? Можно ли как-то вместо того, чтобы просто записывать строки в файл, записать некоторую структуру данных? как хеш-таблица? поэтому для каждого слова в файле публикации будет хеш-таблица, и если я увижу, что слово уже существует в файле публикации, я прочитаю его хэш-таблицу, обновлю и перепишу в файл.

Или есть что-то лучше?

Заранее спасибо,

Грег

1 Ответ

0 голосов
/ 19 декабря 2009

Вы думали об использовании XML для этого? Простая структура, как:

<searchkeys>
   <key name="word1">
      <text id="1">2,4,5</text>
      <text id="4">66,42,21</text>
   </key>
   <key name="word2">
      <text id="1">3,66</text>
      <text id="6">12,19</text>
   </key>
</searchkeys>

Вы можете использовать классы XmlDocument , XmlReader, XmlWriter и т. Д., Чтобы манипулировать файлами и получать от них больше.

Если в нем будет много данных, вы можете подумать об использовании БД для этого (Access, MS SQL (Express или Standard), SqlLite , MySql и т. Д.).

...