Dokumente finden über Inhalt - Datenmodell

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Dokumente finden über Inhalt - Datenmodell

    Hallo,

    ich möchte aus bestimmten Begriffen die Ablageorte der möglichen Dokumente bestimmen, die diese enthalten.
    Die Begriffe würde ich für jedes Dokument dabei festlegen, wie z.B. Tags in einem Forum.
    Ich hätte dann einen Ablageort als String und eine zugehörige Collection an Tags.
    Das wollte ich wohl in einer Datenbank oder einer Excel-Tabelle unterbringen, aber wie macht man da am besten das Datenmodell?

    Eine Liste kann man ja schonmal nicht in einen Datensatz bringen. Einfach die Tags hintereinanderketten und dann mit contains arbeiten scheint wenig effizient, da da sicher keine vernünftige Indizierung möglich sein wird.
    Ansonsten denke ich kann ich jeden Tag als Datensatz mit seinen möglichen Ablageorten erfassen, da ist die Indizierung direkt erledigt.

    Was seht ihr sonst für Möglichkeiten?

    Viele Grüße

    Haudruferzappeltnoch schrieb:

    Eine Liste kann man ja schonmal nicht in einen Datensatz bringen
    Kommt auf die Datenablage an.
    Ohne tDS:

    VB.NET-Quellcode

    1. Class FileInfoPack
    2. Property FileType As String
    3. Property Tags As New List(Of String)
    4. End Class

    Das lässt sich z.B. in ner JSON-Datei abspeichern

    mit tDS:
    eine Dateityptabelle und eine Tag-Tabelle, und die Tag-Tabelle hat ne FremdID auf die Dateityptabelle
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hallo,
    wenn ich dein Vorhaben so sehe, kommt mir als erstes eine Dokumentenbasierte-Datenbank (NoSQL Datenbank), wie z.B. MongoDB, oder vielleicht eher besser für dich, LiteDB, in den Sinn. Diese Datenbanken speichern die Daten nicht relational und benötigen keine festen Tabellenschemata. Die Daten werden meist als (Json)Dokumente abgelegt und sind dabei voll durchsuchbar. Ein Blick lohnt sich.

    Haudruferzappeltnoch schrieb:

    dann eine JSON pro Tag
    Nee, alle Daten in eine JSON und diese mit Deinem Programm erstellen und auslesen. Zusätzlich hast Du ne List(Of FileInfoPack) und die kannst Du mit LINQ durchsuchen:

    VB.NET-Quellcode

    1. Private ReadOnly FileInfoPacks As New List(Of FileInfoPack)
    2. Dim FittingFileTypes = FileInfoPacks.Where(Function(x) x.Tags.Contains(GesuchterTag))

    Die JSON-Datei wäre nur eine Möglichkeit, die Daten auch abzuspeichern.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.