Обновление файла публикации с помощью новых данных в C#

StackOverflow https://stackoverflow.com/questions/1931407

Вопрос

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

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

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

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

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

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

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

Грег

Это было полезно?

Решение

Вы думали об использовании 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, и т. Д. Классы для манипулирования файлами и получения причудливых оттуда.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top