Virtuemart ajax search pro

Please post your questions and problems with any of our extensions which you are using

Virtuemart ajax search pro

Postby a.avrahami » Tue May 17, 2016 11:05 am

How can i find a good documentation for this module?
i saw only this page http://www.rupostel.com/free-virtuemart-extensions/extensions/virtuemart-ajax-product-search and it wasnt help me for the search config
a.avrahami
 
Posts: 9
Joined: Tue Jan 27, 2015 2:37 pm

Re: Virtuemart ajax search pro

Postby admin » Wed May 18, 2016 2:02 pm

hello, you can ask us to configure it for you as far as you got any opc subscription at our site.

installation of the PRO version:
- installs from OPC Extensions tab where the very latest Ajax search version is always available per the very latest VM or Joomla releases
- both com_rupsearch and mod_virtuemart_ajax_search_pro needs to get installed

Configuration:
- there are 3 basic modes:
1. no ajax and no drop down -> this is ideal for large sites with tens of thousands of products, or other sites which lack the resources for mysql speed (cheaper hosting or similar)
2. ajax drop down
3. ajax into component area (needs to know an ID or class where to insert the products)

Styling:
- by default the component (ajax into component or no ajax mode) uses your Virtuemart category template. If k2 virtuemart templates are detected, they are used with higher priority. If own search template is found in
/templates/YOUR JOOMLA TEMPLATE/html/com_rupsearch/category/default.php
/templates/YOUR JOOMLA TEMPLATE/html/com_rupsearch/category/default_images.php
-- the above com_rupsearch is a modified copy of
/templates/YOUR JOOMLA TEMPLATE/html/com_virtuemart/category/default.php
(if not found the VM theme is used automatically)
or
/templates/YOUR JOOMLA TEMPLATE/html/com_rupsearch/default_dropdown.php

Search configuration:
- priorities and areas which can be searched are entered into config this way:
PRODUCT_SKU,PRODUCT_NAME,PRODUCT_NAME_WORDS,PRODUCT_NAME_MULTI_WORDS,PRODUCT_SKU_STARTS_WITH,PRODUCT_DESC,PRODUCT_S_DESC,PRODUCT_ATTRIBS,MF_NAME,CAT_NAME

explanaition:
1. first the SKU is being searched and if it matches the results, it will be shown as the very first
2. product name exact match is being done as second priority
3. product name multi word search (product: keyword1 middleword keyword2)
4. sku starts with - partial match for SKU
5. product_desc -> searches the product description -> for the largest performance you may want to disable this (i.e. not list it)
6. product_s_desc -> short description search (i.e. used for google robots and similar)
7. product_attribs -> searches the custom values of the products -> note that by default this field is not index in Virtuemart and can cause 1000x slow-down for the search results. It's only supported on VM3 and it's not recommended to use if you do not really need to search the custom values
8. mf_name -> searches the product's manufacturer's name
9. cat_name -> searches the product's assigned categories for the keyword

keyword modification:
- shorteing of the words:
- most of the EU languages use different suffixes for adjectives and thus you may want to enable the shortening. it's done automatically:
-- for short words, it cuts just the last character
-- for middle length words, it cuts last 2 characters
-- for very long words it cuts 3 characters

the seach for the modified keywords is done with OR operator and thus it won't influence the exact keyword searches.

What to search:
- child product handling (show only child products / show only parent products / show both)

Sorting:
- sorting on some mysql version breaks the priorities set up and slows down the search as the database on some versions needs to search the whole tables to get the results. The sorting is intended to sort only within the priorities set up:


Number of product's being searched:
- the query limits the results by the number of the proudcts configured at the backend. It terminates the query immidiately when the results are found. the goal is not to search whole tables, but rather to return the results both as fast as possible and as relevant as possible per the configuration

Future updates:
- since mysql 5.7 had optimized the internal query evaluator a way that the priorities cannot be configured the way we would like it to be shown, we will also add a support for multiple query support (i.e. now the search is done with a single query with union statement thus utilizing query cache if available) For the future we will also add an option to search step-by-step by multiple queries until the required number of products is returned by the priorities.

best regards, stan
admin
Site Admin
 
Posts: 2708
Joined: Wed Jan 06, 2010 11:43 pm

Re: Virtuemart ajax search pro

Postby a.avrahami » Thu May 19, 2016 8:52 am

Thank you! it's very useful.
what's mean this line?:
Add and use fulltext indexes (#__virtuemart_products_{lang}.product_desc, #__virtuemart_products_{lang}.product_s_desc, #__virtuemart_product_customfields.customfield_value).
a.avrahami
 
Posts: 9
Joined: Tue Jan 27, 2015 2:37 pm

Re: Virtuemart ajax search pro

Postby admin » Mon May 23, 2016 4:45 pm

hello, it should show as checkbox (as it does on J3) but on J2.5 there are some display issues with this settings.

the index adds a mysql fulltext index on the columns which are being queried and this may on some mysql servers be faster and return better data compared to using per column search (indexed or not indexed)

note that 100mb of fulltext data can easily require 1 terabyte of RAM which may not be available on most servers - and thus the effeciency of this index is questionable.

last year we had seen a DDOS attack on "K2 Comments" functionality where the attackers used a "comment search feature" where K2 creates a fulltext index there by default. This index had caused 10GB temporary tables to be created (within milliseconds on our RAM disks) and when there were more such searches done at once we had a huge performance drop. Note that we only used the "demo data in k2 comments" and the attackers were still able to put down our mysql in a few minutes - therefore the usage of this index must be evaluated per server. (if you are running a dedicated server with a single site and 64 to 128GB ram you should be okay, but you should limit the size of the fulltext index in the DB config itself. )

best regards, stan
admin
Site Admin
 
Posts: 2708
Joined: Wed Jan 06, 2010 11:43 pm


Return to VirtueMart and Joomla Extensions (free or paid)