2011-05-23 5 views
0

Bon moment d'une journée!Sphinx sur .net MVC

J'ai:

  1. Windows 2008 édition serveur web avec grand projet mvc
  2. Un autre serveur MySQL dédié (Ubuntu Linux) avec le moteur Sphinx installé sur ce

La tâche est de construire la recherche rapide sur la base de données de photos. J'ai passé beaucoup de temps à trouver la solution de travail de mvc & sphinx avec l'instruction étape par étape, cause im un nouveau dans cette technologie.

Je veux savoir comment utiliser sphynx avec .net mvc

J'ai trouvé 2 bibliothèques clientes, mais les deux sont avec toute documentation (suite à ceci: Sphinx .net implementation) :(

Tout le monde peut aider Merci un lot? !

PS> désolé pour mon anglais;)

Répondre

2

Comme dans toute application sphynx alimenté, vous avez deux tâches principales:

  1. Définir/créer vos index de sphinx (sphinx.conf)
  2. Utilisez un connecteur (.net) pour soumettre vos requêtes

Pour le numéro vérifier les docs Sphinx, rechercher mysql et sql_query.

Quant à , vous devriez avoir quelque chose comme:

public class MyController : Controller { 
    [HttpPost] 
    public ActionResult Search() { 
    string looking_for = Request.Form["search_item"]; 
    SphinxClient sphinx_client = new SphinxClient(); 
    List<Result> results = sphinx_client.Query(looking_for, "my_sphinx_index_name"); 
    // your view should know what to do with a Result collection 
    return View(results); 
    } 
} 

ps: J'utilise ce connecteur .net (que j'ai écrit = P) http://dotsphinxclient.codeplex.com/wikipage?title=Getting%20started&referringTitle=Documentation

+0

Code très facile à comprendre dans votre Sphinx Connector. J'ai vérifié d'autres implémentations pour C# sphinx-dotnet-client et d'autres sur codeplex qui pourraient être trouvés dans Google, le vôtre semble très intéressant. – Zelid

+0

comment vous connectez-vous à l'index avec ce client? – Siyavash

3

La meilleure façon est de utilisez Mysql .Net connector et communiquez avec Sphinx via l'interface SphinxQL. De cette façon, vous bénéficiez de plus de fonctionnalités et vous n'avez pas besoin de rattraper les modifications du développement API personnalisé.

+0

savez-vous qu'il est possible d'utiliser linq pour les entités avec SphinxQL? –

+0

Je pense que c'est possible mais pas de la boîte. J'essaierais différentes implémentations du fournisseur de base de données linq car Sphinx supporte un sous-ensemble de SQL qui a été doublé en SphinxQL. –