Versio

Koppel Tabel

Overzicht Reageren

Nicoow Unknown

Nicoow Unknown

23/08/2010 20:39:32
Quote Anchor link
Hallo allemaal,

Ik ben bezig met een soort crawler te maken, die bepaalde gegevens in een database opslaat.
Nu heb ik al alle mogelijke tags in een database tabel gezet
[--TAGS--]
[----id--]
[----tag-]

Nu heb ik ook een tabel met Items, en 1 Item kan meerdere tags hebben.
Dus ik maak een koppel tabel.

[--Item_Tag--]
[----itemId--]
[----tagId---]

Nu wil ik 2 dingen.
Ik wil de koppel tabel vullen met de juiste ID's, en ik wil bij het zoekveld kunnen zoeken op het Item Title, en de bijbehorend tags.

Wat is de beste manier om de koppel tabel te vullen, als je een array hebt die er zo uitziet:
array([0] => "Tag1", [1] => "Tag2", [2] => "Tag3")

En hoe kan je dus het beste zoeken in zowel de titel van een Item en de bijbehorend tags.
dus bijvoorbeeld de zoekopdracht "Nico Tag2"
En dat hij dan de Titel's vind:
"Nico in verband met Tag2"
"Nico draagt momenteel 1 sok"
"Dit is een Tag2 Item"

En dan heb ik dus het liefst de grootste combinaties bovenaan, en dan minder relevante steeds lager.
 
PHP hulp

PHP hulp

25/05/2012 02:59:05
Gesponsorde koppelingen:
 
Arend a

Arend a

23/08/2010 21:46:10
Quote Anchor link
Hoewel het geen antwoord op je vraag is raad ik je aan naar Lucene of Solr te kijken. Dit zijn zoekmachines die grote hoeveelheden verschillende data kunnen doorzoeken, en zend heeft er een PHP versie van gemaakt. Ik gebruik het zelf ook voor bijvoorbeeld de zoekmachine van booosting.nl, en het werkt als een raket.

Je slaat het eigenlijk twee keer op: een keer in lucene, en een keer in je database. In lucene sla je enkel tags, keywords e.d. op, en om wat voor object het gaat, zodat je die later weer uit de database kan vissen. De support is redelijk uitgebreid: je kan er ook zo PDFjes en html in gooien en dan bakt lucene er wel iets moois van.

Dit heeft ook te maken met het grote nadeel van SQL: de hierarchie. Als je gerelateerde data moet opslaan is het fantastisch, maar als het niet meer precies in je tabel past heb je een probleem. Dit is ook een reden dat http://www.mongodb.org/ of couchdb erg in opkomst is (misschien ook een aanrader voor je project, zelf nog niet gebruikt.)
 
Nicoow Unknown

Nicoow Unknown

23/08/2010 22:07:26
Quote Anchor link
Ziet er allemaal wel erg goed uit eigenlijk, alleen met mongodb en couchdb ben ik toch wel bang voor slechte server support, en het moet op meerdere servers kunnen draaien.
Dat Lucene ga ik zeker eens goed naar kijken, binnenkort maar een oefen project ervoor opstarten, ziet er erg goed uit :)
Toch bedankt, ook al helpt het mij momenteel nog niet =รพ

Ik denk dat ik voor het inserten in de DB voor iedere tag een nieuwe query moet gaan aanmaken, alleen zit ik beetje te kijken of het in 1 query kan.
Ik heb het ItemID al, en de tags, dus ik moet het TagID ophalen, en het liefst in de INSERT query, iemand een idee daarvoor, of moet ik een aparte query maken om het ID op te halen?
 



Overzicht Reageren