Je veux faire de la recherche plein texte efficacement dans MYSQL en utilisant match contre. En particulier, j'ai besoin d'utiliser des opérateurs binaires (par exemple, faire correspondre un texte mais pas un autre texte). Cependant, j'ai également besoin d'un support de transaction efficace.
Mais la recherche en texte intégral est uniquement prise en charge sur MYISAM, pas sur Innodb. Que faire?mysql recherche plein texte
Répondre
En supposant que vous deviez utiliser Innodb.
Je suggère d'utiliser un outil de recherche externe - sphinx ou solr obtiendrait mon vote. Les deux retournent systématiquement de meilleurs résultats que la recherche mysql fulltext, et beaucoup plus rapidement. Je dirais que sphinx est plus facile de se lever et de partir, en particulier venant de mysql.
Si vous ne pouvez pas installer l'un ou l'autre, ou si vous n'avez tout simplement pas le temps, vous pouvez simplement déplacer ou dupliquer les champs nécessaires dans une table myisam afin de pouvoir utiliser la recherche fulltext de mysql.
Ceci est une suggestion plutôt qu'une réponse.
Si vous avez une base de données volumineuse ou si vous voulez des fonctionnalités avancées, n'utilisez pas la recherche en texte intégral de mysql. Vous pouvez utiliser sphinx ou lucene. SPhinx est généralement plus rapide et plus léger, mais Lucene a beaucoup plus de fonctionnalités. J'utilise personnellement Sphinx.
Utilisez Lucene, puisque Lucene est basé sur Java. – TIMEX
sphinx est php seulement droit? – user121196
Vous pouvez utiliser n'importe quelle langue avec lucene ou sphinx. C'est le fait que "mettre en place", lucene est basé sur Java. – TIMEX
Vous pouvez également essayer Ferret c'est une implémentation ruby d'une bibliothèque de recherche apache. Selon les tests de vitesse, c'est aussi beaucoup plus rapide.
- 1. MySql Recherche plein texte
- 2. Django MySQL recherche plein texte
- 3. Recherche plein texte recherche
- 4. Recherche plein texte dans Mysql - comportement illogique
- 5. mysql recherche plein texte et caractères spéciaux
- 6. Recherche plein texte MySQL sur plusieurs tables
- 7. mysql recherche plein texte esperluette (&) Problème
- 8. Recherche plein texte SQL
- 9. postgres recherche plein texte
- 10. Recherche plein texte CONTAINSTABLE
- 11. recherche plein texte vista
- 12. RavenDB recherche plein texte
- 13. recherche plein texte dans Subsonic
- 14. Recherche plein texte dans LINQ
- 15. Problème de recherche plein texte
- 16. recherche plein texte sur bigtable
- 17. Recherche plein texte avec joker
- 18. Recherche plein texte MySQL pour les entités html
- 19. mysql recherche plein texte avec des colonnes nulles
- 20. Recherche plein texte sur la table MySql (Innodb vs ISAM)
- 21. Recherche plein texte de PostgreSQL et de MySQL
- 22. MySQL Recherche plein texte et score pas de résultat
- 23. Recherche plein texte MySQL sur plusieurs tables avec différents champs
- 24. MySQL Recherche plein texte a toujours 0 résultats?
- 25. Recherche plein texte sur une table
- 26. Recherche plein texte impliquant 2 tables
- 27. SQL Server - Pourcentage basé Recherche plein texte
- 28. Recherche plein texte sur plusieurs tables
- 29. Recherche plein texte like in InnoDB
- 30. recherche plein texte pour l'ensemble de données
bon conseil, mais je ne peux pas déplacer ou dupliquer des tables/colonnes, j'ai besoin de supprimer les résultats correspondants après la recherche, de préférence fait dans une seule instruction SQL. – user121196