VirtueMart Forum

VirtueMart 2 + 3 + 4 => Plugins: Payment, Shipment and others => Topic started by: bestcons on December 25, 2021, 22:29:07 PM

Title: Smart search in Virtuemart for Joomla 4
Post by: bestcons on December 25, 2021, 22:29:07 PM
In view of own activities related to Joomla 4 and Vitutemart, curious to learn whether smart search is scheduled in  the first VM release for Joomla 4 as there only will be smart search in Joomla 4.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: pinochico on December 26, 2021, 05:02:38 AM
Due to our own activities - if not, you can try elastic search for VirtueMart:
https://www.kolo-park.cz
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: bestcons on December 26, 2021, 12:45:34 PM
Our voluntary association looks for a free virtuemart plugin rather than a paid version for $ 59.90!
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: pinochico on December 26, 2021, 19:12:51 PM
I do not speak your language  ;D
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: GJC Web Design on December 27, 2021, 12:42:29 PM
QuoteOur voluntary association looks for a free virtuemart plugin rather than a paid version for $ 59.90!

as a voluntary organisation why are you even bothering to look at J4?  J3 is fully supported for a till at least August 17, 2023 and it will be running on 1000's of websites for long after that.
There is nothing wrong performance or security wise with J3/VM3...

as for smart search the core VM search has nothing to do with the Joomla search  ... I suppose a plugin will need to be developed to integrate VM into the Joomla Smart Search .. isn't it just a a pre-indexation of search terms etc?

I have played with J4 for quite a while now and are hard pressed to find a single advantage over J3 ...  it's just different...  with some newer libraries.. and IMHO a clonkier admin
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: balai on December 28, 2021, 15:23:10 PM
Smart Search is a powerful search engine that would elevate the search functionality in VM.

I suggest the project leadership to consider that.
Title: Smart search in Virtuemart for Joomla 4
Post by: bestcons on March 28, 2022, 15:21:04 PM
In view of own activities related to Joomla 4 and Virtuemart, curious to learn whether smart search is scheduled in  the first VM release for Joomla 4 as there only will be smart search in Joomla 4 and therefore indispensable in considering a Joomla 3 migration.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: pinochico on March 28, 2022, 16:53:56 PM
Due to the implementation of VirtueMart on really big e-shops and experience with Elastic search, I am very worried that the implementation of Smart Search will be just another unfinished project that will not be used on really business sites.
I would be pleasantly surprised, if there was already a link to another DB for content indexing, then it might make a little sense.

Until then, it is useless to deal with this project, I would rather use Elastic Search.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: sechavarria on May 27, 2022, 23:46:01 PM
Hello,

I am interested in this topic because in my company we are moving our site from joomla 3 to joomla 4, and we need the smart search to allow us to search the site in addition to content, virtuemart products and comments from the JComments plugin, which what if it could be done with the simple search of joomla 3.

Could you please tell me if there is already a plugin that allows smart search to add virtuemart products and JComments to the index? If not, how would it be possible to implement it on my site? what dou you recommend?

Thank you very much for your attention.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: pinochico on May 28, 2022, 08:08:13 AM
QuoteCould you please tell me if there is already a plugin that allows smart search to add virtuemart products and JComments to the index?

no

QuoteIf not, how would it be possible to implement it on my site? what dou you recommend?

hire developer
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: baggeler on July 06, 2023, 10:12:34 AM
Is it really still so that after so long time there is no smart search plugin for vm or am I looking at wrong place?
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: EIF on July 12, 2023, 19:44:13 PM
I am also interested.
The old Joomla 3 search finds Virtuemart products. But the smart search of Joomla 4 doesn't.

A webshop really needs a search bar that covers the complete website. Using 2 search bars (1 for joomla article content and 1 for viruemart product search) is absurd.

Edit: I'm looking at this extension now to integrate: https://extensions.joomla.org/extension/search-a-indexing/site-search/geek-elasticsearch/ (https://extensions.joomla.org/extension/search-a-indexing/site-search/geek-elasticsearch/)
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: pinochico on July 12, 2023, 22:34:05 PM
gek-elastic search we implemented on shop in 2016 with custom developping...

After 4 months we make off, because amazon DB cost 150 EUR per month.

Now we use Elastic search as Search Ready - https://www.searchready.cz - on the shop - www.karcher-satter.cz
Or Ajax Search from Rupostel - look at the www.zelenazeme.cz or www.cannadorra.hu
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: EIF on July 14, 2023, 13:09:11 PM
hmm, didn't knew rupostel had ajax search. I will contact him, I prefer Rupostel.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: bestcons on July 16, 2023, 21:09:22 PM
In the absence of a Virtuemart smart search option, I installed in Joomla 4: pkg-search-4.1.0. The module can be downloaded from https://github.com/joomla-extensions/search/releases/download/4.1.0/pkg-search-4.1.0.zip. The older version is present in Joomla 3. This offers us to search both in Joomla 4 and Virtuemart 4!
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: JoomlaGeek.com on January 04, 2024, 04:04:12 AM
Quote from: pinochico on July 12, 2023, 22:34:05 PM
gek-elastic search we implemented on shop in 2016 with custom developping...

After 4 months we make off, because amazon DB cost 150 EUR per month.

Now we use Elastic search as Search Ready - https://www.searchready.cz - on the shop - www.karcher-satter.cz
Or Ajax Search from Rupostel - look at the www.zelenazeme.cz or www.cannadorra.hu

If you use dedicated server or VPS, you can free download Elasticsearch and install it to your server. It's totally free without any monthly cost.
You can use Searchly replace for AWS in case you are not able to install Elasticsearch to the server, Searchly is very reasonable price cloud Elasticsearch service.
FYI.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Dud3 on April 24, 2024, 17:09:36 PM
Since nobody wanted to do this, I've made it on my own.

Here is the github link to the package which contains all plugins needed to use the smart search aka finder:
https://github.com/Dudebaker/Virtuemart-Finder (https://github.com/Dudebaker/Virtuemart-Finder)

The Virtuemart-Core is missing some events, so these had to be done with an additional system plugin.

Maybe the Virtuemart dev-team can add these events (would only be 4 lines of code) and maybe they can use this package as base to add it to the Virtuemart-Package.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Roderic on April 24, 2024, 20:34:59 PM
Thanks for your work! I've tested it in Joomla 5.1 and VM 4.2.8. Seems to work, it just runs into this error when there is characters in the product name like ß. Duplicate entry 'set weiss-de' for key 'idx_term_language'

But I think that is a Smart Search (Finder) issue, not per se your plug-in. Or maybe the collation setting. I've currently set it to: utf8mb4_unicode_520_ci

What I am missing however, is the incorporation of searching for SKU, GTIN and MPN. Currently I am using Custom Filters Pro search from Breakdesigns. Here you can also set the search to look in those fields. Would it be hard to implement this into your plug-in?
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Dud3 on April 26, 2024, 06:08:50 AM
SKU and GTIN is already included in indexing.
I've now added MPN in v1.0.1.

And you're right, this issue seems to be a bug in the finder.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: balai on May 10, 2024, 12:52:06 PM
Thanks Dud3!
I urge @milbo to have a look at that and add the required event triggers.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: depika on June 25, 2024, 20:13:56 PM
Your plugin is great. But I just installed the latest version of VM (4.2.16) and upon save of products I am getting the following error. When I disabled the plugin plgVmCustomFinder the error was gone. I would appreciate your help.

An error has occurred.      
0 Joomla\CMS\Event\Model\SaveEvent::onSetSubject(): Argument #1 ($value) must be of type object, string given, called in /home/depikabi/jmakdepika/libraries/src/Event/AbstractEvent.php on line 227      
Call Stack      
#   Function   Location
1   ()   JROOT/libraries/src/Event/Model/SaveEvent.php:42
2   Joomla\CMS\Event\Model\SaveEvent->onSetSubject()   JROOT/libraries/src/Event/AbstractEvent.php:227
3   Joomla\CMS\Event\AbstractEvent->setArgument()   JROOT/libraries/src/Event/AbstractEvent.php:115
4   Joomla\CMS\Event\AbstractEvent->__construct()   JROOT/libraries/src/Event/AbstractImmutableEvent.php:51
5   Joomla\CMS\Event\AbstractImmutableEvent->__construct()   JROOT/libraries/src/Event/Model/ModelEvent.php:55
6   Joomla\CMS\Event\Model\ModelEvent->__construct()   JROOT/libraries/src/Application/EventAware.php:106
7   Joomla\CMS\Application\WebApplication->triggerEvent()   JROOT/plugins/vmcustom/finder/finder.php:34
8   plgVmCustomFinder->plgVmAfterStoreProduct()   JROOT/libraries/src/Plugin/CMSPlugin.php:289
9   Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}()   JROOT/libraries/vendor/joomla/event/src/Dispatcher.php:454
10   Joomla\Event\Dispatcher->dispatch()   JROOT/libraries/src/Application/EventAware.php:111
11   Joomla\CMS\Application\WebApplication->triggerEvent()   JROOT/administrator/components/com_virtuemart/helpers/vdispatcher.php:41
12   vDispatcher::trigger()   JROOT/administrator/components/com_virtuemart/models/product.php:2903
13   VirtueMartModelProduct->store()   JROOT/administrator/components/com_virtuemart/helpers/vmcontroller.php:178
14   VmController->save()   JROOT/administrator/components/com_virtuemart/controllers/product.php:72
15   VirtuemartControllerProduct->save()   JROOT/libraries/src/MVC/Controller/BaseController.php:730
16   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT/administrator/components/com_virtuemart/virtuemart.php:77
17   require_once()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
18   Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73
19   Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch()   JROOT/libraries/src/Component/ComponentHelper.php:361
20   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT/libraries/src/Application/AdministratorApplication.php:150
21   Joomla\CMS\Application\AdministratorApplication->dispatch()   JROOT/libraries/src/Application/AdministratorApplication.php:195
22   Joomla\CMS\Application\AdministratorApplication->doExecute()   JROOT/libraries/src/Application/CMSApplication.php:306
23   Joomla\CMS\Application\CMSApplication->execute()   JROOT/administrator/includes/app.php:58
24   require_once()   JROOT/administrator/index.php:32
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: depika on July 02, 2024, 13:37:14 PM
Quote from: depika on June 25, 2024, 20:13:56 PMYour plugin is great. But I just installed the latest version of VM (4.2.16) and upon save of products I am getting the following error. When I disabled the plugin plgVmCustomFinder the error was gone. I would appreciate your help.

An error has occurred.      
0 Joomla\CMS\Event\Model\SaveEvent::onSetSubject(): Argument #1 ($value) must be of type object, string given, called in /home/depikabi/jmakdepika/libraries/src/Event/AbstractEvent.php on line 227      
Call Stack      
#   Function   Location
1   ()   JROOT/libraries/src/Event/Model/SaveEvent.php:42
2   Joomla\CMS\Event\Model\SaveEvent->onSetSubject()   JROOT/libraries/src/Event/AbstractEvent.php:227
3   Joomla\CMS\Event\AbstractEvent->setArgument()   JROOT/libraries/src/Event/AbstractEvent.php:115
4   Joomla\CMS\Event\AbstractEvent->__construct()   JROOT/libraries/src/Event/AbstractImmutableEvent.php:51
5   Joomla\CMS\Event\AbstractImmutableEvent->__construct()   JROOT/libraries/src/Event/Model/ModelEvent.php:55
6   Joomla\CMS\Event\Model\ModelEvent->__construct()   JROOT/libraries/src/Application/EventAware.php:106
7   Joomla\CMS\Application\WebApplication->triggerEvent()   JROOT/plugins/vmcustom/finder/finder.php:34
8   plgVmCustomFinder->plgVmAfterStoreProduct()   JROOT/libraries/src/Plugin/CMSPlugin.php:289
9   Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}()   JROOT/libraries/vendor/joomla/event/src/Dispatcher.php:454
10   Joomla\Event\Dispatcher->dispatch()   JROOT/libraries/src/Application/EventAware.php:111
11   Joomla\CMS\Application\WebApplication->triggerEvent()   JROOT/administrator/components/com_virtuemart/helpers/vdispatcher.php:41
12   vDispatcher::trigger()   JROOT/administrator/components/com_virtuemart/models/product.php:2903
13   VirtueMartModelProduct->store()   JROOT/administrator/components/com_virtuemart/helpers/vmcontroller.php:178
14   VmController->save()   JROOT/administrator/components/com_virtuemart/controllers/product.php:72
15   VirtuemartControllerProduct->save()   JROOT/libraries/src/MVC/Controller/BaseController.php:730
16   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT/administrator/components/com_virtuemart/virtuemart.php:77
17   require_once()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71
18   Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}()   JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73
19   Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch()   JROOT/libraries/src/Component/ComponentHelper.php:361
20   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT/libraries/src/Application/AdministratorApplication.php:150
21   Joomla\CMS\Application\AdministratorApplication->dispatch()   JROOT/libraries/src/Application/AdministratorApplication.php:195
22   Joomla\CMS\Application\AdministratorApplication->doExecute()   JROOT/libraries/src/Application/CMSApplication.php:306
23   Joomla\CMS\Application\CMSApplication->execute()   JROOT/administrator/includes/app.php:58
24   require_once()   JROOT/administrator/index.php:32


Noone is having this issue?
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Dud3 on July 19, 2024, 11:41:17 AM
Sorry for the late answer... that had do to with newer Joomla 5 Versions and how they handle now the Finder-Events.

I've updated the package to v1.1.0:
Made compatible to Joomla 5.1.2
Removed all code-parts which where deprecated and would get removed with Joomla 6.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: cat1910 on September 05, 2024, 10:45:12 AM
Hi,

I tried your plugin on Joomla 4 / Virtuemart 4, version 1.0.1.

My website is in French.
When I try to index content in the smart search component,I get this issue :
Table 'msyn_helium7.joo4_virtuemart_products_en_gb' doesn't exist

Can you help ?
Regards,
Catherine


Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Dud3 on September 05, 2024, 19:00:09 PM
Hi,

please ask support-questions only in one place, the prefered channel would be github (as you already done there).
Future communication will be there.


Greetings
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: cat1910 on September 05, 2024, 19:26:46 PM
Sorry yes, thank you :-)
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Dud3 on January 20, 2025, 06:38:14 AM
I've overhauled the complete data receiving part - the Virtuemart Models are now used.

Customfields are now indexed if they have the search parameter enabled.
Breakdesign CustomFilter customfields are supported too.

Added a new plugin to allow you (or show you) how to access the indexing part and customize it to your needs.
More or less all Virtuemart product/category/manufacturer variables are there available.

https://github.com/Dudebaker/Virtuemart-Finder
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Roderic on January 22, 2025, 13:29:26 PM
Thanks for your work. Unfortunately I'm getting the following error, but only on products:

Invalid status line from script 'index.php': 0, referer: /administrator/index.php?option=com_finder&view=indexer&tmpl=component

It will still index up to 50 products (or 300, depending on the settings. Basically up to one batch). Manufacturers and category are all indexed without error.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Dud3 on January 23, 2025, 07:13:44 AM
Which Joomla/Virtuemart Versions do you have in use?

This error message does sadly not really say much.

Cannot reproduce this in shops with single language (german) or multilanguage (german default + english) with up to 20k products.

If you enable Joomla debugging you will get a second option on the Smart Search Index button "Index debugging".
Try this, select "Smart Search - Virtuemart Products" and enter a product id, then an underscore and then your language you would like to index (for example 1234_de-DE or 1234_en-GB).

Maybe here you get more informations.
Title: Re: Smart search in Virtuemart for Joomla 4
Post by: Eholov on March 18, 2025, 12:02:18 PM
Quote from: Dud3 on January 20, 2025, 06:38:14 AMI've overhauled the complete data receiving part - the Virtuemart Models are now used.

Customfields are now indexed if they have the search parameter enabled.
Breakdesign CustomFilter customfields are supported too.

Added a new plugin to allow you (or show you) how to access the indexing part and customize it to your needs.
More or less all Virtuemart product/category/manufacturer variables are there available.

https://github.com/Dudebaker/Virtuemart-Finder

Thank you for integrating Virtuemart product search into Joomla Smart Search (Finder). Product search works for me, but it gives results in the form of articles, not Virtuemart products. Tell me, do your plugins have settings to change the type of search results or do I have to edit the components\com_search\tmpl\search\default_results.php and components\com_search\tmpl\search\default_result.php files myself?