J'ai une table Sentences qui a une colonne ID et phrase. C'est une table assez grande, + - 100000 lignes. On me donne une liste de mots et j'ai besoin de trouver les phrases qui contiennent ces mots. Les phrases résultantes doivent être uniques. A partir de là, c'est assez simple mais cela semble inefficace.Besoin d'un moyen efficace pour résoudre cela avec Linq/subsonic
0
A
Répondre
0
Au lieu de .Count()>0
, vous devez utiliser .Any()
.
En outre, il ne semble pas que vous fassiez quelque chose pour obtenir des phrases uniques, comme utiliser un .Distinct()
à la fin.
Peut-être comme ceci:
_session.All<Sentence>()
.Select(T => new { ID = T.ID, Sentences = T.sentence.Split(' ') })
.Where(S => S.Sentences.Intersect(Words).Any())
.Select(R=>R.ID)
.Distinct() // may not be necessary
Questions connexes
- 1. Un moyen plus efficace pour cela?
- 2. Besoin d'un moyen efficace pour un problème simple dans C#
- 3. Un moyen plus efficace de résoudre cet exemple?
- 4. Un moyen efficace pour SQL
- 5. moyen le plus efficace pour synchroniser un ParseObject avec Parse.com
- 6. Comment résoudre cela avec un lambda
- 7. moyen efficace pour parcourir en-tête définitions
- 8. Le moyen le plus efficace d'analyser cela avec la bibliothèque Java Scanner?
- 9. version plus efficace de cela?
- 10. Moyen efficace pour trier un tableau?
- 11. Est-ce que cela peut être un moyen efficace et fiable pour purifier l'entrée de l'utilisateur?
- 12. Besoin d'aide pour résoudre cette requête SQL
- 13. Besoin de conseils pour résoudre System.Runtime.InteropServices.COMException (0x88982F72)
- 14. Proposer un moyen efficace pour interroger
- 15. moyen efficace de trouver chaîne avec StreamReader
- 16. Besoin d'une réponse pour cela avec quelques explications
- 17. Besoin d'aide pour résoudre l'erreur cocos2d simple?
- 18. Besoin d'aide pour résoudre certains messages d'erreur
- 19. Besoin d'aide pour résoudre le bug
- 20. Besoin d'aide pour résoudre simple erreur cocos2d
- 21. moyen efficace pour analyser la chaîne
- 22. moyen efficace pour vérifier les domaines parqués?
- 23. moyen efficace pour itérer throught éléments xml
- 24. Ai-je besoin d'un recenseur pour cela?
- 25. plus efficace schéma pour ceci ou cela, ou ceci et cela
- 26. besoin moyen plus efficace pour analyser des fichiers csv en Python
- 27. besoin d'un moyen plus efficace de travailler avec la source de données d'objet dans .net
- 28. Le moyen le plus efficace pour faire plusieurs filtres PCAP
- 29. jQuery - J'ai besoin d'un moyen plus efficace pour écrire mes formulaires
- 30. Le moyen le plus efficace pour modifier xml
c'est juste un début que je ne suis pas heureux de terminer, car il doit y avoir une meilleure solution que cela. Diviser 100 000 phrases en mots est effrayant. Cela ne peut pas être la seule solution possible. – David
Diviser les phrases en mots est presque certainement le moyen le plus efficace de le faire. Chercher des mots dans des phrases complètes ne va pas être plus rapide. – Gabe
_session.All() .Sélectionnez (T => new {Phrase = T, Descriptions = T.Sentence.Split ('')}). Où (S => S.Sentence.Intersect (mots) .Any()) .Sélectionnez (R => R.Sentence) .Distingué() ne fonctionne pas Je reçois L'expression de type 'System.Collections.Generic.IEnumerable'1 [System.String]' n'est pas une séquence –
David