An example of my project.
Many users Many records (think twitter size)
I want to make it very easy for users to search for their posts. The question is: am I implementing a tag system or just a search engine? I have done a lot of research on this issue, in particular, on the required scheme. But I still have some lingering questions.
If I use TAGS. The idea would be for me to split the record into words and any metadata that is part of it in TAGS. The schema will be Toxi (many-many) as recommended by mysql people. The problem with TAGS is that they are not as flexible as SEARCH. For example, if CATS is a tag but CAT was not, you could not “search” for it because it is not a TAG. If you do not search in TAGS. At what point am I worried about performance or why not just use direct search. The second problem is to keep duplicates and TAG similarities to a minimum. TAG if you do this.
If I use SEARCH, I will have to use LIKE or FULLTEXT (myISM is not so good) and search through records and their metadata. In this case, metadata can store tags as data. The scheme will be much simpler, but I'm afraid that the performance will be much worse than using tags. But the search is again more flexible, and I don’t have to worry about garbage collection as much.
Now it’s interesting that I read that in order to increase the search efficiency, people resort to the search method + tagging. Mark all the words in a record, and then search in TAGS. Which I kind of hinted at what is happening with the TAG system in any case. At this point, the line between tagging and searching seems fuzzy, and I'm very confused. So, I am writing this in the hope that you can deal with me.
. , . , .
, .
.