2011-09-11 2 views
0

Mon application utilisant Oracle 11g comme backend. Nous avons plusieurs colonnes BLOB dans différentes tables. Nous utilisons ces colonnes pour stocker des fichiers tels que .Doc, .excel, etc. La première question est de savoir si le stockage en tant que BLOB prend en charge la recherche en texte intégral?Gestion de BLOBS dans Oracle 11g

Ma deuxième question est de savoir si garder une seule table pour stocker toutes les données BLOB et créer un seul index de texte qui peut être utilisé pour rechercher les documents? Est-ce que ce sera mieux que de le conserver dans des colonnes de table différentes et de séparer les index de recherche de texte intégral? Si je conserve tous les fichiers dans un seul tableau, dois-je exclure le groupe de lignes de la recherche en texte intégral?

Répondre

0

Oui, vous pouvez stocker vos documents dans des colonnes BLOB, puis les indexer avec Oracle Text (voir manual).

Et je ne suis pas sûr si plusieurs colonnes BLOB sont supportées (plusieurs colonnes de texte sont bien, je l'ai utilisé moi-même).

Il peut être plus difficile d'avoir un seul index de texte sur différentes tables. Cela pourrait être la réponse à votre deuxième question que vous avez en fait besoin de fusionner tous les documents dans une seule table. Lorsque vous utilisez Oracle Text, il semble que l'index de texte soit juste un index supplémentaire sur votre table. Toutefois, l'index de texte se compose de plusieurs tables supplémentaires qu'Oracle crée automatiquement. Vous ne pouvez pas changer cela.

+0

Ma première question est clarifiée et j'ai lu cela aussi dans docs oracle. Merci. Mais pour la deuxième question, j'ai vu quelques informations sur le 'MULTI_COLUMN_DATASTORE'. Dans une discussion, il est indiqué que nous pouvons combiner plusieurs colonnes de texte dans différentes tables et créer un seul index de texte. Avez-vous une idée? – saravana

+0

J'ai utilisé avec succès un MULTI_COLUMN_DATASTORE pour les colonnes contenant uniquement du texte. Pourtant, je ne pense pas que cela fonctionne vraiment pour des formats spéciaux, car Oracle (selon la documentation) concatène simplement les colonnes. Cela détruirait l'intégrité des formats tels que Word ou Excel. Mais un test va montrer à coup sûr. Le chemin le plus facile est le plus susceptible de fusionner toutes les données BLOB dans une seule colonne d'une seule table, puis de l'indexer avec Oracle Text. – Codo

+0

Dans le cas de la création d'un seul index pour la colonne BLOB, Comment le rendre utile pour indexer les fichiers stockés dans la table et le fichier stocké dans le FileSystem (sur un emplacement partagé). Je vais stocker le FileName et le chemin dans la table dans différentes colonnes. – saravana