{"action":"created","issue":{"url":"https://api.github.com/repos/joomla/joomla-cms/issues/12592","repository_url":"https://api.github.com/repos/joomla/joomla-cms","labels_url":"https://api.github.com/repos/joomla/joomla-cms/issues/12592/labels{/name}","comments_url":"https://api.github.com/repos/joomla/joomla-cms/issues/12592/comments","events_url":"https://api.github.com/repos/joomla/joomla-cms/issues/12592/events","html_url":"https://github.com/joomla/joomla-cms/pull/12592","id":185633483,"number":12592,"title":"Joomla 4.0: Removing pseudo table partitioning in Finder","user":{"login":"Hackwar","id":313866,"avatar_url":"https://avatars.githubusercontent.com/u/313866?v=3","gravatar_id":"","url":"https://api.github.com/users/Hackwar","html_url":"https://github.com/Hackwar","followers_url":"https://api.github.com/users/Hackwar/followers","following_url":"https://api.github.com/users/Hackwar/following{/other_user}","gists_url":"https://api.github.com/users/Hackwar/gists{/gist_id}","starred_url":"https://api.github.com/users/Hackwar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hackwar/subscriptions","organizations_url":"https://api.github.com/users/Hackwar/orgs","repos_url":"https://api.github.com/users/Hackwar/repos","events_url":"https://api.github.com/users/Hackwar/events{/privacy}","received_events_url":"https://api.github.com/users/Hackwar/received_events","type":"User","site_admin":false},"labels":[{"id":444033883,"url":"https://api.github.com/repos/joomla/joomla-cms/labels/PR-4.0-dev","name":"PR-4.0-dev","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2016-10-27T10:43:21Z","updated_at":"2016-10-31T07:40:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/joomla/joomla-cms/pulls/12592","html_url":"https://github.com/joomla/joomla-cms/pull/12592","diff_url":"https://github.com/joomla/joomla-cms/pull/12592.diff","patch_url":"https://github.com/joomla/joomla-cms/pull/12592.patch"},"body":"This is a first take at improving Finder and solving our com_search/com_finder issue (namely that we have 2 components to do searching with...)\n\nFinder currently has 16 tables to store the mapping between term and content. This was done for performance reasons, since these tables might become really big really fast and for large sites it would be better to have several smaller tables, or at least that was the theory. That theory might have been correct in 2008/2009, when Finder was written, (I don't know enough about this to judget that) but it is not correct in 2016 anymore.\n\nFinder basically implemented database table partitioning in PHP, which I would call a bad idea. MySQL supports partitioning since 5.6. I would argue that we should drop this PHP implementation for several reasons:\n1. The performance gain for this partitioning only really has an effect on large sites. Those sites however should rather implement real partitioning in the database than using this here.\n2. For smaller sites it actually has a detrimental effect\n3. It is a lot of code and additional tables that confuse people, including me.\n\nTo me it at least feels as if with these changes, indexing the sample data is quicker than before. Searching should also be a bit quicker.\n\nThis will require some updates to the documentation. We have several places, where we talk about the 16 mapping tables.\n"},"comment":{"url":"https://api.github.com/repos/joomla/joomla-cms/issues/comments/257230616","html_url":"https://github.com/joomla/joomla-cms/pull/12592#issuecomment-257230616","issue_url":"https://api.github.com/repos/joomla/joomla-cms/issues/12592","id":257230616,"user":{"login":"Hackwar","id":313866,"avatar_url":"https://avatars.githubusercontent.com/u/313866?v=3","gravatar_id":"","url":"https://api.github.com/users/Hackwar","html_url":"https://github.com/Hackwar","followers_url":"https://api.github.com/users/Hackwar/followers","following_url":"https://api.github.com/users/Hackwar/following{/other_user}","gists_url":"https://api.github.com/users/Hackwar/gists{/gist_id}","starred_url":"https://api.github.com/users/Hackwar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hackwar/subscriptions","organizations_url":"https://api.github.com/users/Hackwar/orgs","repos_url":"https://api.github.com/users/Hackwar/repos","events_url":"https://api.github.com/users/Hackwar/events{/privacy}","received_events_url":"https://api.github.com/users/Hackwar/received_events","type":"User","site_admin":false},"created_at":"2016-10-31T07:40:27Z","updated_at":"2016-10-31T07:40:27Z","body":"com_finder provides search across all content types that it supports. Unfortunately there are quite a lot of extensions out there that don't provide a finder plugin, but just one for com_search. There are also a lot of situations, where you can not index the data like Finder needs it, for example when querying an external source. In those cases, we need something like com_search with its plugin structure. That is also the reason why we have com_search and com_finder in the first place. Otherwise com_search would have been replaced with com_finder in 1.6 directly.\r\n\r\nWe need a solution that allows to add external sources and we need a solution that allows all the old search plugins to be used. The logical solution would be to include Finder as a search plugin in com_search."}}
{"actor":{"display_login":"Hackwar"}}