J'ai besoin de partitionner mon index SOLR en deux moitiés. Comme il se trouve, j'ai déjà un champ STRING qui représente les informations de partition dont j'ai besoin. En d'autres termes, un type d'enregistrement à rechercher est celui où le champ chaîne est présent dans l'enregistrement et contient une valeur, l'autre type est celui où il ne contient aucune valeur. Toutes les requêtes doivent spécifier la partition à rechercher. Serait-il plus rapide pour moi de rechercher ce champ en utilisant une requête de champ négative, comme -strFld:[* TO *]
ou serait-il mieux/plus rapide pour moi de créer un nouveau champ booléen, appelez-le dire "hasStrFld", et rechercher sur cela? Ainsi, lorsque strFld n'est pas présent, hasStrFld est faux. De même, quand il y a des données dans StrFld alors hasStrFld est vrai. Autres considérations: il y a une très faible probabilité qu'à l'avenir l'index puisse être partitionné en une troisième partition, ce qui rendrait les requêtes booléennes inadaptées et négatives inadaptées, et considérerait un champ avec des valeurs énumérées. Cependant, la probabilité est assez faible et la performance rapide aujourd'hui est une considération beaucoup plus grande que l'extensibilité pour demain.Question de conception de schéma SOLR: absence de champ ou champ booléen?
2
A
Répondre
3
Je pense en pratique que je pourrais envisager d'exécuter quelques tests avant de décider, cependant, sans eux, j'aurais probablement recours au champ STRING.
- il est déjà là
- il n'y a pas une telle chose comme un champ spécial booléenne (Solr ajoute ce jeton en utilisant une chaîne pour autant que je comprends).
Pour la vitesse, je voudrais essayer:
- en utilisant comme filtre (c.-à-fq) d'utiliser des mécanismes de mise en cache associés
- boost/unboost le score sur le terrain et trier (au lieu de partitionnement complètement)
- une approche multi-cœur, partitions en noyaux (en fait cela pourrait être facile à étendre et facile à entretenir)
Hope this aide s.
Questions connexes
- 1. Comment ajouter un champ booléen à MySQL?
- 2. requête SOLR, la valeur du champ 1 est le même que le champ 2, ou le champ 1 est vide
- 3. conception de schéma MongoDB
- 4. solr: multiplier le score par un champ
- 5. Question du champ sélecteur
- 6. Boost résultats dans Solr par certain champ?
- 7. Champ d'URL manquant en utilisant Solr DataImportHandler
- 8. Comment déterminer le type de champ pour l'indexation SOLR?
- 9. En Solr, Comment interroger contre un champ pour ensemble de valeurs distinctes dans un champ multivalué
- 10. Conception de base de données extensible: automatique ALTER TABLE ou serialize() champ BLOB?
- 11. Question de conception de cadre
- 12. Scala syntaxe de point (ou son absence)
- 13. Recherche d'une plage de dates ou d'un champ null/no dans Solr
- 14. Comment rechercher un ensemble de mots clés à partir d'un champ de mots clés dans Solr?
- 15. Rails: comment basculer un champ booléen d'une vue?
- 16. déterminer le type de champ de schéma dans SQLite, CSV ou Excel
- 17. Conception de schéma SQL Server
- 18. drupal cck date champ question
- 19. ActionScript 3 champ constructeur question
- 20. Struct avec initialisation par défaut du champ booléen?
- 21. Conception de l'entreposage de données Question
- 22. django inverse admin list_display (non) un champ booléen
- 23. Comment faire un champ calculé booléen dans TSQL et joindre sur ce champ calculé?
- 24. Type de champ MySQL pour un champ de commentaires ou une zone de texte
- 25. Problème de conception de la base de données (ou question)
- 26. Indexer un champ booléen comme une chaîne dans le sphinx
- 27. Passez un booléen JS lors de la modification de texte dans un champ de saisie?
- 28. Comment agrégez-vous une requête basée sur un champ booléen?
- 29. MVP, question de conception
- 30. MVC question de conception