Nous travaillons sur une proposition pour trouver un moteur de recherche approprié à notre exigence. Laissez-moi vous expliquer notre structure de données. C'est une structure de données hiérarchique. Fondamentalement, un produit détails disposés dans un arbre comme le ci-dessous.Moteurs de recherche pour Arbre hiérarchique
Structure hiérarchique
Bakery
Pains
Biscuits
Pain Sticks
Bun & Rolls
Café-Shops
Rolyalty
bevarage
Pakaged nourriture
Il y a une exigence de recherche à venir pour la structure de l'arbre ci-dessus. Nous explorons différents outils.
Nous avons essayé avec le modèle de jeu imbriqué dans la base de données mysql. L'arbre ci-dessus est donc construit en tant que modèle de jeu imbriqué avec les positions gauche et droite. Étant donné que le nombre de demandes simultanées est plus élevé et compte tenu de l'évolutivité, nous nous sommes déplacés davantage en termes de moteurs de recherche en mémoire qui traiteraient la demande plus rapidement.
Nous avons donc commencé à explorer Apache Solr construit sur Lucene. Nous comprenons que solr est plus approprié pour la recherche de structure plate plutôt que la recherche de nœud de hiérarchie. Mais nous avons essayé de créer l'arbre comme une structure plane, mais nous avons fini dans la complication ci-dessous.
Structure plane
L1 L2 L3
boulangerie Pains Biscuits
boulangerie Pains de bâton de pain s
Bakery Breads Petit pain & Rolls
coffee-shops Rolyalty bevarage
coffee-shops Rolyalty Pakaged alimentaire
Problème dans l'appartement structure Nous avons créé cette structure en Solr et pendant que nous faisons la recherche à tous les niveaux avec "Boulangerie", on finit à obtenir le dessous de trois dossiers
Bakery Breads Biscuits
Boulangerie Breads pain Sticks
Boulangerie Breads Petit pain & Rolls
Notre exigence Notre exigence est d'envoyer uniquement le nœud de correspondance et de son parent. Pendant que nous travaillons avec la référence croisée, alors un seul nœud sera celui qui doit être envoyé qui est la boulangerie ...
Dans notre cas, il y aura d'énormes volumes d'enregistrements et nous pensons que cette structure plate pourrait ne pas fonctionner. être bonne option.
Pouvez-vous suggérer de bonnes options pour aborder la recherche mentionnée ci-dessus. Idéalement, la réponse devrait être aussi un arbre ... est-ce comme persister un arbre et nous serons en mesure de rechercher sur la base du nœud et aussi chercher ses parents Neo4j ?. Nous traitons plutôt les résultats de la recherche. les volumes de données seraient environ 20 millions
Merci tiramisu. J'ai regardé ça.Puisque nous avons des exigences plus complexes dans la recherche, nous aimerions tirer parti des capacités de recherche fournies par le moteur de recherche. – Raju