je réponds par rapport à ce que je fais en import de notices (par le menu admin ou par les résultats d'une recherche z3950) :
nous disposons de trois zones : résumé contenu général celles-ci sont stockées séparément mais font l'objet d'un index fulltext unique. ceci implique que la syntaxe de la requete si on utilise match against fasse appel aux trois colonnes, telles que décrites dans la création de l'index fulltext. si on veut distinguer les champs de recherche, il faut distinguer les index fulltext. En outre, en Oracle, un index interMedia (= ancien index OracleText pour les connaisseurs) ne peut porter que sur une seule colonne. Je ne sais pas encore ce que ça donne avec PostgreSQL, mais pour l'instant Oracle est beaucoup plus 'fin' que MySQL, il va donc falloir coller à cela au minimum. Je résume les champs de recherche : colonne colonne préparée index tit# index_tit# index_serie serie.serie_name index_serie index_serie (l'index fulltext index_serie contient index_tit#+index_serie) n_gen index_matiere index_matiere n_resume index_matiere index_matiere n_contenu index_matiere index_matiere (l'index fulltext i_contenu_resume contient n_resume+n_contenu) index_l aucune aucun (indexation libre : les mots clés renseignés) je propose des créer les colonnes ad hoc pour les recherches : -rassembler les titres, la série et l'indexation libre dans une colonne préparée >>index_titres = strip_empty_words (tit1+tit2+tit3+tit4+serie_name+index_l) de la sorte, les mots clés font sortir un livre en recherche 'titre', c'est bien le but des mots clés ? -rassembler les notes générales et notes de résumé >>index_notes = strip_empty_words (n_gen+n_resume) -distinguer les notes de contenu >>index_contenu = strip_empty_words (n_contenu) de la sorte, le contenu = les titres des morceaux d'un CD par ex, est bien distingué en recherche. coté recherche, ça donnerait : -recherche par titre : recherche match against sur index_titres résultats : les oeuvres dont le ou les titres ou dont le nom de la série ou dont les mots clés contiennent le mot cherché. Exemple : "Aïda" : Verdi : Aïda, opéra... -recherche par résumé/général résultats : les oeuvres dont le résumé ou les notes générales contiennent le mot cherché. Exemple = "Suez" >> Verdi : Aïda, opéra commandé par le roi d'Egypte pour se faire pardonner son opposition à la construction du canal de Suez -recherche par notes de contenu résultats : les oeuvres dont le contenu contient le mot cherché. Exemple : "triomphale" >> Verdi : Aïda, Acte II scène 2 : la marche triomphale Est-ce que c'est suffisant ? Doit-on distinguer les titres plus finement ? Auquel cas il faudra conserver les colonnes actuelles index_tit# et leur créer les index fulltext correspondant. Doit-on distinguer le titre de la série ? Il faut bien avoir à l'esprit que toutes les dinstinctions faites au sein de la structure de la base doivent se retrouver au niveau des possibilités de recherche dans l'interface, sinon quel en est l'intérêt ? SI je me place coté OPAC : le lecteur lambda aura certainement plus de facilité à chercher avec UN SEUL champ partout que de devoir préciser où il veut chercher, peut-être faudra-t-il créer une colonne pour cela = strip_empty_words (tout_ce_qu_on_a) mais ça peut faire sortir des titres qui n'ont que très peu de rapport avec le mot cherché, uniquement parce que le mot clé apparait dans le contenu : exemple : je cherche un bouquin dont le titre contient "triomphale" et ça me sort Aïda de Verdi... Qu'en pensez-vous ? Eric résultats : les oeuvres dont le contenu contient le mot cherché. ----- Original Message ----- From: "François Lemarchand" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, December 01, 2003 7:58 AM Subject: [PMB-DEVEL] Question > J'ai pas mal avancé dans le module catalogage. > > Reste un pb. : l'onglet 'autre recherches'. Le FULL INDEX sur note de contenu et > note de résumé est en place sous la forme d'un index commun aux deux zones. Pour > l'instant, cela fonctionne donc à grands coups de regexp. Donc à votre avis, que > doit-on faire ? supprimer la distinction entre les champs ? ( Personnellement, > cela ne me dérange pas outre mesure : Je ne suis plus discothécaire ;-). Ou > alors splitter cet index FULL TEXT en deux. A moins que malgré l'unicité de > l'index, le fulltext puisse taper indifférement dans l'une ou l'autre zone ? (y > compris lors du switch vers POsTGRES/ORACLE) ?. Note : Par rapport au notes de > contenu, cela peut évoluer dans un proche avenir. En effet, je pense qu'on > pourrait mettre en place un système de dépouillement comparable à celui des > périodiques pour les monographies. Ceci permettrait de traiter les cas de > regroupements d'oeuvres en un seul volume. Du coup la zone de notes de contenu > se trouverait réduite à recevoir des infos moins importantes (exemple : > 'contient des livre écrits par Machin dans sa jeunesse', ou le classique : > 'Bibliogr.' pour indiquer que l'ouvrage contient une bibliographie). > > A+ > > -- > François Lemarchand > homepage : http://balno.free.fr/ > phpmybibli : http://phpmybibli.sf.net/ > > Liste de diffusion phpmybibli.devel > Pour se désinscrire : mailto:[EMAIL PROTECTED] > > Liste de diffusion phpmybibli.devel Pour se désinscrire : mailto:[EMAIL PROTECTED]