IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Moteur de recherche universel


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 563
    Par défaut Moteur de recherche universel
    Bonjour !

    Je suis actuellement en train de chercher un moyen de créer une sorte de moteur sur appli Windows (probablement en WPF), je n'ai pas de code pour le moment mais voilà ce que je cherche à obtenir :
    - recherche auto. sur plusieurs champs, un bon exemple est une appli musicale, l'utilisateur a un champ de recherche unique qui va automatiquement chercher artistes, albums etc...

    Supposons que j'ai comme exemple basique une base de données avec des enregistrements clients avec pour chaque client : nom, prénom, adresse, code postal, ville et pays, je veux que si je commence à taper :
    - 75 [soit un début d'adresse ou un code postal]
    - Grenoble [ville]
    - Susan [prénom]

    En gros, on se pose rarement comment poser une question à un moteur de recherche mais on obtient quand même des résultats, comment aussi résoudre le problème des accents et retrouver une adresse donnée qu'elle soit saisie avec ou sans accents ?

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Tu peux regarder par exemple Lucene.NET. Sinon, SQL Server embarque nativement la Full-Text Search, à voir ce qui répondrait le mieux à ton besoin...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre très actif Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 563
    Par défaut
    Merci pour l'info. SQL Server me tente bien si ce n'est qu'il faut l'installer. Je pensais plus à SQL Lite ou équivalent pour que je n'aie pas de config à faire.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Je ne sais pas trop si SQLLite est en mesure de fournir de bonnes performances avec la FTS sur un gros volume de données... Il vaut mieux avoir un vrai SGBDR pour l'utiliser, ou alors rester sur de faibles volumes de données.

    Je pense qu'il vaut mieux utiliser Lucene.NET que SQL Lite, qui permet la constitution d'index rapidement. Ensuite en conservant les données de l'index en RAM, les temps de réponse sont extrêmement rapides. C'est une solution fiable et éprouvée.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre très actif Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 563
    Par défaut
    OK, je ferai le test. Tu as répondu à l'une de mes questions mais pas à comment interpréter indifféremment les accents sur une chaine de caractères.

  6. #6
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Citation Envoyé par Aizen64 Voir le message
    OK, je ferai le test. Tu as répondu à l'une de mes questions mais pas à comment interpréter indifféremment les accents sur une chaine de caractères.
    Bonjour, la question des accents peut être réglé par le choix de la collation. Certaines collations permettent de ne pas tenir compte des diacritiques (accents, cédilles, etc) lors des comparaisons.

    Si d'aventure ton SGBD ne proposait pas ce choix, il faudra stocker deux chaînes, une normale, l'autre ayant subie une normalisation unicode (NFKD sans doute, cela transforme un caractère accentué en deux caractères : l'accent seul suivi de la lettre non-accentuée) avant d'en retirer certaines classes de caractères, regarde String.Normalize et Char.GetUnicodeCategory.

Discussions similaires

  1. [Info]moteur de recherche full text en environnement j2ee
    Par ddams dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/11/2004, 19h39
  2. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 15h07
  3. Moteur de recherche par date
    Par Prue dans le forum ASP
    Réponses: 17
    Dernier message: 27/08/2003, 16h07
  4. [Technique] Index, comment font les moteurs de recherche ?
    Par bat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 25/10/2002, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo