Ich behalte eine einfache PHP-basierte In-House-cms. Ich würde gerne den Text von Artikeln durchsuchen, wie sie im System gespeichert werden für das, was später Zehntausende von verschiedenen Token sein wird, um automatisch Links auf diese Token anzuwenden und auch eine Beziehung in einer Assoziationstabelle zwischen den Token herzustellen Artikel und die Entität, die das Token darstellt.Suche Text für (möglicherweise) Zehntausende von Token
Was ist der beste Weg, dies zu tun? Gibt es einen schnelleren/effizienteren Weg dies zu tun, als eine Liste aller Token und ihrer relevanten Entität/ID jedes Mal abzurufen, wenn ein Artikel gespeichert wird?
Ich bin weniger interessiert an der Ersetzung der Token als der beste Weg, um die Liste der Token zu suchen - sie werden aus verschiedenen Tabellen kommen, und ich würde denken, dass auf einer Anfrage die Datenmenge was abgefragt werden muss, würde sowohl die DB als auch die Speicherlast des Skripts ziemlich belasten.
Edit: Ich denke, ich habe die Frage falsch gestellt.
Betrachten Sie den folgenden Text:
Steve McMuffin aß siebzehn Fabulous Furry Fajitas The Stinking Bean, während Johnson Fatlumps zweiunddreißig aßen.
Ich habe zwei Leute drin, die beide in der "Personen" -Tabelle sind, ein Restaurant, das in der "Restaurant" -Tabelle ist und ein Restaurant-Menüelement, das in der "restaurant_menu_item" -Tabelle ist.
ich die beste Art und Weise wissen will, nachdem der Text gespeichert wird, automatisch zu durchlaufen und zu identifizieren, was ein Mensch ist, was ist ein Restaurant, und was ist ein Restaurant Menüpunkt ohne, um benutzerdefinierten Markup als die Zuflucht Zielpublikum hat praktisch keine Chance, das jemals richtig zu machen.
Interessante Frage umgehen kann.Eine Sache zu beachten: Was ist, wenn Sie eine Kollision haben? Was ist, wenn "Steve McMuffin" eine Person und "McMuffin" ein "Restaurant-Menüelement" ist? Wie möchten Sie damit umgehen? –
Guter Punkt. Ich habe keine Ahnung! Hast du welche? – Shabbyrobe