The search cache might not be updated with the current search settings. Choose one of the following options:
  • Save and update the cache (recommended). If the cache is too big, the update process might take several seconds to complete.
  • Save and clear the old cache.
  • Save only. The future search results not previously cached will be cached with the new settings. The old search results still in cache will be displayed to users until they expire at the given expiration time.
To improve the search speed, this feature will add FULL TEXT indexes to your database. Do you want to continue?
The current search algorithm is set to FAST. If you disable table indexing, the search algorithm will be set to DEFAULT. Do you want to continue?
keyphrase 1
keyphrase 2
keyphrase 3
Reset
Exact match Broad match
From:
To:
Reset
Daily Monthly Yearly
Top 10 searches (n) Top 10 searches (%)

    Enable Advanced Smart Search 4.5.1

    Yes         No

    Search Algorithmhelp

    Fast It provides fast searches also on large databases. It is always recommended to use this algorithm, unless you need specific features available only with the default algorithm.
    Default The main difference with the fast algorithm is the ability to also find "words inside words", not just "words beginning with" (the option include partial words must be enabled).

    Match typehelp

    Exact Match Search results match all the words of the search query. Words may be in any order. Read more and see some examples
    Broad Match Results contain at least one or more keywords from the search query, in any order. The search query may have extra words not present in any product field. Read more.

    Default Sort Order

    Select the default sort order for the result list. Notes:
    - If you choose the sort order "Relevance", remember to configure it in the section Relevance Setup.
    - The sort order "Default" can be configured from each Product page (from the back end, go to Catalog -> Products -> Edit -> tab Data -> Sort order.
    Custom texts for the new types of sort orders
    Relevance

    Date (New > Old)

    Date (Old > New)

    Translate/change texts for the new sort order types available with this extension. Texts for the other built-in sort orders (name, price ecc.) are read from the Opencart language files.

    Fields to search within     +     Relevance Setuphelp

    Enable all
    Disable all
    Product Field
    • SEO Meta Tag Keywords
    • SEO Meta Tag Description
    • 262144 Product Name
    • 131072 Product Tags
    • 65536 Product Description
    • Model
    • SKU
    • UPC
    • EAN
    • JAN
    • ISBN
    • MPN
    • Location
    • 128 Manufacturer Name
    • Attribute Group Name
    • Attribute Name
    • Attribute description
    • Option Name
    • Option Value
    • 2 Category Name
    A product field is a container of text stored in the database. Select which product fields to search within by clicking on the ckecboxes on the left of each field name. To optimize the search speed, select only fields containing keywords useful to identify a product.

    Next, setup the field relevance. Choose which fields are more/less relevant by moving them up or down on the list (move the mouse on a field and when you see the four headed arrow cursor, drag and drop it in the desired position). Click here to learn more about this feature.

    Hide 0 quantity products from searcheshelp

       Enable

    Include pluralshelp

       Enable

    Include partial wordshelp

    Enable Minimum partial word length
    antidisestablishmentarisms

    Current Search Algorithm
    ft_min_word_len (What is this?) 3
    This option extends matches to partial words. For example, the word shelf will also match compound words like bookshelf. Partial word searches are performed by the two search algorithms Defalut and Fast in two slightly different ways. Click here to learn more.

    Detect misspellingshelp

    Enable Misspelling tolerance
    %

    Cache Managerhelp

    Enable Cache update frequency
     

    Database optimizationhelp

    Index database tables
    Rebuild db indexes?
    Select this checkbox to speed up the search process. Read more to learn what FULL TEXT indexes are and how they can improve query performances. To create indexes, just select the checkbox and click on Save.
    The button "Rebuild" (displayed when the checkbox is checked) can be used to rebuild broken indexes or after updating MySQL configuration files (these files can be modified on VPS/dedicated servers only, read the paragraph Fine tuning MySQL configuration). For large databases, rebuilding indexes may require several time. Read more

    Current MySQL server configuration

    Setting Value help
    ft_min_word_len 3
    ft_stopword_file (built-in)
    Mysql Engine MyISAM (It should be set on MyISAM if you want to use FULL TEXT searches)
    Table Collation utf8_general_ci (It's recommended to use a case insensitive collation, like utf8_general_ci)

    Product Stats

    Number of active products 20

    Enable Live Search

    Yes         No

    Add your custom search boxes

    help
    Add search box Do you need a search box on a particular layout and position? Then use this feature to add your custom search field!
    * Dimension (W x H)
    (leave empty to auto resize):
    Layout: Position: Status: Sort Order:
    Refresh Mode help
    Update results after each character typed Recommended for:
    - Fast servers
    - small/medium databases
    - a well balanced search engine configuration.         Read more
    each word entered Recommended for:
    - slow servers
    - big databases
    - a too heavy search engine configuration.         Read more
    Live Search Style
    Preset Styles
    Display Images
    Image Size px
    Image Border Color
    Dropdown window width px
    Display price
    Text Size px
    Text Color
    Background Color
    Border Color
    Mouse hover
    Max number of results displayed
    Text "Show all results"
    Text "No results"

    Getting Started

    System requirements

    You need vQmod in order to use this extension (click here to know what vQmod is). If your system doesn't have vQmod installed, follow these instructions to install it:

    http://code.google.com/p/vqmod/wiki/Install_OpenCart.

    How it works

    Advanced Smart Search is the full-featured search engine that extends and improves the default Opencart search engine. It provides more reliable and accurate results that really helps customers to quickly find what they are looking for.

    Its algorithm searches for products matching the query by scanning up to 20 product fields, checking for plurals, misspelled words and combining the relevance of the selected product fields with other parameters like the number and position of keywords in each product field, in the same way the big search engines like Google™ or Yahoo™ do.

    To further improve the overall performance, a Cache System saves the searches, making all the subsequent queries much faster.

    General Search Options

    Search Algorithms

    Advanced Smart Search uses two different algorithms to perform searches. They are designed to provide the best performances under different configuration scenarios.

    The Fast Algorithm

    • This algorithm is suitable for small, medium and large databases. It guarantees high responsiveness and low resource consumption.
    • When the option Include partial words is enabled, this algorithm is able to find "words beginning with".
    • It makes small cache files. For example, if the number of page results is set to 15 and the current search returns 50 results, each cache file will contain the current result page only. When users click on "Page 2", a new cache file with next 15 results will be created.
    • The minimum searchable word length depends on value of the variable ft_min_word_len. This value can be changed as described here.
    • All the terms of a query be searched, except for stop words. Stop words are articles, pronouns, prepositions, which are so commonly used that they have no impact on the relevancy of the search query.

    The Default Algorithm

    • Suitable for small databases (on large databases, queries may become slow and the Live Search could result less responsive).
    • When the option Include partial words is enabled, this algorithm is able to find "words beginning with" and "words inside words".
    • It produces bigger cache files. When caching is enabled, all result pages are cached in one single file (one file for each search query). For example, if a search returns 50 products, the resulting cache file will contain all the 50 results. The cache file will be bigger but all the subsequent page requests (page 2, page 3 ecc.) will be instantly returned to clients.
    • There is no size limit to minimum searchable word length.

    Match type

    This paragraph explains how the keyword match type works. Match type helps to control when, and how broadly, the search engine will return product pages based on the query string.

    Advanced Smart Search manages two different match types: Exact Match and Broad match.

    Exact Match

    Search results contain all the words in the search query, the order of words doesn't matter. Results matching exactly the search query (the distance between words is 0) are supposed to be more relevant and are displayed on top. Other results with a word distance greater than 0 are displayed by relevance order.

    Example

    A database contains the products iPhone and cover for iPhone named 'Apple iPhone 5s' and 'Cover for iPhone 5s' (To make things easy, the only product field enabled is the product name, see the paragraph Field relevance).

    Database
    Product id Product name
    1 Apple iPhone 5s
    2 Cover for iPhone 5s
    3 Two covers for iPhone 5s blue and green

    Search string Results Notes
    iphone 1Apple iPhone 5s
    2Cover for iPhone 5s
    apple iphone 1Apple iPhone 5s
    iphone apple 1Apple iPhone 5s The order of words doesn't affect the results.
    apple iphone black - No results because the word 'black' doesn't appear in any product name.

    This option can be used in combination with plurals. When plurals are enabled, the word 'mobiles' will also match 'mobile' and will return the same result set.

    Broad Match

    Results have at least one or more keywords contained in the search query, in any order. The search query may have words not present in any product field. Results matching exactly the search query are displayed on top. Other results are displayed by relevance order.

    Example

    Search string Results Notes
    apple 1Apple iPhone 5s
    iphone 1Apple iPhone 5s
    2Cover for iPhone 5s
    apple iphone black 1Apple iPhone 5s
    2Cover for iPhone 5s
    Results match at least one word (Apple and iPhone) in the query string

    Field relevance

    The search is performed only within the product fields of your choice. A product field is a container of text stored in your database. Product fields may contain keywords, useful to identify products. For example, if the field Product name contains the word 'iPhone', probably the related item is an iPhone or maybe just a cover or a charger for iPhone. If your customer wants an iPhone and not a cover for iPhone, the product iPhone must be displayed before any iPhone accessory. This is where the field relevance comes into play.

    When you perform a search operation, Advanced Smart Search produces a result set that includes items matching the search query and, for each matching item, a score.

    The score is a number that is calculated based on the position of each product field in the list Field Relevance and on other statistical information (see below). The total relevance of a returned search item is determined based on its score compared with other scores in the result set, items with higher scores are deemed to be more relevant to the search.

    By default, search results are returned in relevance order, so changing the field positions in the list Field Relevance can change the scores and then the order in which search results are returned.

    To set up the field relevance, select the checkboxes for the fields which contain the keywords useful to identify the product (for example, Product name, Product tags and Model) and choose which fields are more relevant for the search by moving them up or down in the list (move the mouse on a field and when you see the four headed arrow cursor, drag and drop the field in the desired position).

    Example

    In our example, the word 'iPhone' may be present in all or just in some of the three fields.

    If the search returns these three products:

    Product Name Model Tags
    Cover for iPhone 5s cover iP5s cover, iPhone, 5s
    Apple iPhone 5s iPhone 5s Apple, mobiles
    Two covers for iPhone 5s blue and green iP5srg covers

    The field order:

    • 1Product name
    • 2Model
    • 3Tags

    returns the sorted list:

    Search string Results Matches
    iphone 1Apple iPhone 5s Product name, Model
    2Cover for iPhone 5s
    Product name, Tags
    3Two covers for iPhone 5s blue and green Product name

    while the field order:

    • 1Tags
    • 2Product name
    • 3Model

    returns the list:

    Search string Results Matches
    iphone 1Cover for iPhone 5s
    Tags, Product name
    2Apple iPhone 5s Product name, Model
    3Two covers for iPhone 5s blue and green Product name

    To further improve the field relevance system, Advanced Smart Search takes into account other parameters to determine the position of a product in the result set. They include:

    • The number of words found for each product field.
    • The position of each word into the text. Words in sequence that match phrases entered by customers will carry more weight than words not in sequence. For example, if a customer searches for 'iPhone 5s', a product with the keywords 'iPhone' and '5s' next to each other will have a higher relevancy score than a product containing the string: 'iPhone cover for 5s models'.
    • Type of words found. Words can be (in order of relevancy score): exact words, plurals/singulars, misspellings. if a customer searches for 'iPhone', products with the keyword 'iPhone' will rank higher than products with the plural 'iPhones' or the misspelling 'iPhome'.

    Tips to improve search speed

    • To speed up the database queries, select the minimum number of fields necessary to perform a good search. Also, enable the database table indexing.
    • If the cache manager is enabled, only the first database query takes a certain amount of time, all the subsequent search results for the same keywords will be instantly returned to the clients.
    • Optimize fields with a small amount of text like name, tags, ecc. instead to enable large product fields like description, it will speed up searches.
    • Optimize texts for the fields meta tag description and meta tag keyword, useful to boost up pages in the external Search Engine Result Pages (SERPs) and also helpful to display relevant results in the Live Search.

    Plurals

    When plurals are enabled, Advanced Smart Search will also look for the inflected form of each english keyword contained in the query. When the keyword is a singular form, the search engine will perform the search for the origilal keyword and for the plural form, if the keyword is in the plural form, the search will also be made for the singular form.

    To improve the quality of search results, inflected forms carry slightly less weight than the original keywords. This ensures that products containing exact matches of keywords in the query string are displayed on top of products containing inflections for the same keywords.

    Example

    Search string Results Notes
    cover iphone 1Cover for iPhone 5s
    2Two covers for iPhone 5s blue and green
    Results with inflections (covers) are displayed below results with exact matches (cover).

    Partial word matches

    This option extends results to products containing words partially matching a search term.

    While, in some cases, this option can really return more relevant results, it could also include results that have nothing to do with the search query. On large databases, is always recommended to use this option together with the Fast algorithm. If the search algorithm is set on Default and you enable this option on large databases, it might slow down SQL queries.

    When to enable this option

    Enable this option if your product main keywords are compound words (words made up of two or more words, like, booklet, breadknife) and where single words (book, knife) might be used for searches in place of the main keywords.

    You must be somewhat careful with this option as leaving your configuration too wide open can cause a lot of false positive results.

    Differences between the two search algorithms

    Partial word searches are performed by the two search algorithms Defalut and Fast in two slightly different ways.

    Fast algorithm:

    • is able to find "words starting with";
    • the minimum partial word length depends on the value of the variable ft_min_word_len, that can be changed on VPS/Dedicated servers only;
    • Search speed is not affected when this option is enabled.

    Default algorithm:

    • It can find "words starting with" and also "words inside" words;
    • The minimum partial word length doesn't depend on any system variable, even though is always recommended to set up a partial word length greater than 3 or 4, to avoid a lot of false positive results and slow queries.
    • Search speed can become slow on large databases.

    This table gives a visual explaination of the difference:

    Search Algorithm Search string Matches
    Default phone telephones, microphone, phonebook
    Default book notebook, bookshelf, booklet
    Fast * phone phonebook
    Fast * book bookshelf, booklet
    * ft_min_word_len = 3

    Tips

    If you have products whose main keywords are compound words, rather than enabling the partial word matching, optimize product field contents. For example, if the main product keyword is 'bookshelf', enable fields like meta description, meta keywords or tags and add the words 'book' and 'shelf' in their contents. It will also help product pages to have a better ranking on Google.

    Misspellings

    Up to 7% of search queries include misspellings, and the longer the query, the more likely it is to contain some misspelling. Advanced Smart Search is able to detect misspelled words within the given tolerance. Tolerance is the measure of how many spelling mistakes a word can contain.

    Example

    Words with a misspelling tolerance of 20% (about 2 spelling mistakes for a 10 letter word)

    Misspelling tolerance = 20%
    Word length Misspelling Examples Match
    10 letters BlsdkBerry
    BoackBerdy
    BlackBerry
    5 letters apkle
    epple
    Apple

    When both the options Exact Match and Misspellings are enabled, misspelled words will not be detected.

    Hide zero quantity products

    When this option is enabled it allows to exclude out of stock products from searches (Products whose quantity is <= 0).

    The cache manager

    Advanced Smart Search includes a reliable and efficient cache system that reduces the database query time to 0. Only the first time a customer does a search, it takes a certain amount of time. Results are then saved and when someone performs the same search, results are instantly delivered to the client.

    Cache results are automatically refreshed at the given update frequency to ensure synchronization with the database. The Cache update frequency defines the time period (hourly, daily, weekly, monthly, yearly) in which Advanced Smart Search updates the search cache.

    You can also manually control the cache by the two buttons, Update cache and Clear cache.

    There are a couple of situations in which the cache should be manually updated:

    • When you often add new products but you set the update frequency on a long period of time. If you add new products every day, make sure to set the cache update frequency to daily. If not, the cache will return results without any new product. After the cache lifetime expires, new products that match the query string will be automatically added to the old cached results.

    • When you change any of the options in the General Search Options tab. Every time you change the match type, the field relevance, ecc., the same search query returns a different result set. Thus, the new settings will not be applied to old cached results. For this reason, if the cache manager is enabled and you forget to manually update it, when you save the new settings a pop-up window will ask you if you want to clear or update the old cache.

    Database optimization

    On large databases, search operations can become very slow without indexing tables. On small-medium databases also, some configurations may slow down the server response time and that could negatively impact features requiring a high responsiveness (like the Live Search).

    The next paragraphs explain how to setup your MySQL database and server to speed up query response times.

    Checkbox "Index database tables"

    If you are not familiar with databases, think of of a database index as an index in a book. If you have a book about dogs and you are looking for the section on Golden Retrievers, then why would you flip through the entire book – which is the equivalent of a full table scan in database terminology – when you can just go to the index at the back of the book, which will tell you the exact pages where you can find information on Golden Retrievers. Similarly, as a book index contains a page number, a database index contains a pointer to the row containing the value that you are searching for in your SQL.

    A database index is a data structure that improves search operations on a database table. Indexes are used to quickly locate data without having to search every row in a database table every time the table is accessed. Indexes can be created using one or more columns of a database table, they are a copy of these columns of data and they can be searched very efficiently.

    The downside of indexes is that they require additional space on the disk to maintain the extra copy of data, so the larger a table is, the larger indexes related to that table will be.

    Another performance hit with indexes is the fact that whenever you add, delete, or update rows in the corresponding table (for example when inserting/updating/deleting product pages), the same operations will have to be done to your index. Remember that an index needs to contain the same up to the minute data as whatever is in the table column(s) that the index covers.

    Index database tables if you need faster searches and if you don't add/update products too often. To create the FULL TEXT indexes, just select the checkbox Index database tables and click on Save.

    When tables are indexed, the search engine behaviour is slight different when searches includes words with a length lower than a certain value and stop words. If searches seem slow or give inaccurate results for some common words such as "the" or "and", even when FULL TEXT indexes are enabled, it may be related to the MySQL variables ft_min_word_len and ft_stopword_file. This topic is fully explained in the pharagraph Fine tuning MySQL configuration.

    Fine tuning MySQL configuration

    If your website is hosted on a Virtual Private Server (VPS) or on a Dedicated server and you have a root access, you can change settings in the configuration file.

    It is strongly recommended to backup your MySQL database before making any changes to your database. We are not responsible of any data loss.

    On Shared servers the following settings cannot be changed. For more info contact your hosting provider.

    There are two MySQL variables that you might want to modify to alter the default search behaviour, ft_min_word_len and ft_stopword_file. They can help to provide more accurate and faster results.

    On Linux, Unix and Mac, the configuration file that contains these variables is my.cnf, on Windows is my.ini, refer to this page https://dev.mysql.com/doc/refman/5.1/en/option-files.html to find the exact file location.

    Indexing and FULL TEXT minimum word length

    When tables are indexed, words having a length lower than the value set in the MySQL variable ft_min_word_len cannot be searched by the fast algorithm. For those words searches can be only performed by the default algorithm.

    While the fast algorithm is optimized to use only FULL TEXT indexes and is bound to the minimum word length limit set by the variable ft_min_word_len, the default algorithm can bypass this limit at the cost of slower queries because it has to search every row in the database, losing the advantages of FULL TEXT indexes.

    On small databases and on websites hosted on shared servers (on which the value of the variable ft_min_word_len cannot be changed), the extra time necessary to scan all rows is trascurable, so both the default and fast algorithms can be used without losing much performance.

    On large databases is always recommended to use the fast algorithm. If you try to use the default algorithm on big databases and you also enable the partial word matching option, queries can become slow, expecially when including very common words.

    Below you will find the instructions on how to setup the variable ft_min_word_len, if you never did it before or you don't want to mess up your MySQL configuration files, contact your hosting provider.

    The variable ft_min_word_len can be found within the section [mysqld] of your my.cnf/my.ini file. If there is no variable with that name within the [mysqld] section, add it as shown in the example below.

    My.cnf configuration example

    [mysqld]
    port= 3306
    ...
    log_error="mysql_error.log"
    #bind-address="127.0.0.1"
    ft_stopword_file = "/path/to/your/stopword/file.txt"
    ft_min_word_len = 2

    After applying the changes, restart the server and rebuild your FULL TEXT indexes by clicking on the button Rebuild indexes.

    FULL TEXT indexes and stop words

    When someone makes a search, they often type phrases containing words that show up very frequently in pages and have little to do with the information being sought. Most people don't usually search these words anyway, even if they do include them in their queries.

    These common words (such as "and" or "the") are called stop words and, for the reasons cited above, should be excluded from searches.

    MySQL Server automatically excludes stop words from indexes, then if tables are indexed, stop words do not match if present in the search string. The primary reason for not indexing stop words is to provide more accurate results and increase the search speed.

    MySQL uses a built-in stopword list (in English language), it can be found here:

    http://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html

    You can also define your custom stop words, for example if your website language is different from English or if you want to add/remove stop words from the built-in list. Here is a good list in several languages:

    http://www.ranks.nl/stopwords

    To override the default stopword list, set the MySQL variable ft_stopword_file. You can find it within the section [mysqld] of your my.cnf/my.ini file. If there is no variable with that name within the [mysqld] section, add it as shown in the example below. The variable value can be:

    • the path name of the file containing the stopword list (the server looks for the file in the data directory unless an absolute path name is given to specify a different directory);
    • An empty string, which will disable stopword filtering.

    If no variable is found, the MySQL will use the built-in stopword list.

    After changing the value of this variable or the contents of the stopword file, restart the server and rebuild your FULL TEXT indexes by clicking on the button Rebuild indexes.

    My.cnf configuration example

    [mysqld]
    port= 3306
    ...
    log_error="mysql_error.log"
    #bind-address="127.0.0.1"
    ft_min_word_len = 4
    ft_stopword_file = "/path/to/your/stopword/file.txt"

    Button "Rebuild indexes"

    Every time you modify your MySQL configuration files, always remember to: 1) restart the server, 2) rebuild Indexes. To know how to restart the server, contact your hosting provider. To rebuild indexes, just click on the button Rebuild indexes. On large tables, this operation could take several time to complete.

    If you don't make any changes to your configuration files, there is no need to rebuild indexes. When you just add/modify/remove products from your store, indexes are automatically kept in sync with the tables they refer to.

    Live Search Options & Style

    Refresh mode

    As you start typing a word, the live search seeks to find products matching the current query string. You can control the number of requests sent to the server by the following two options.

    Refresh results after each word typed

    Choose this option if you want to send a search request only after typing an entire word. This option is recommended for:

    • slow servers;
    • big databases, where each search query takes several seconds to complete;
    • a too heavy search engine configuration. The query complexity increases along with the number of active options. If you select the whole list of product fields, include plurals and misspellings, disable the cache and don't index the database tables, each request might take a longer to complete and therefore the Live Search will be less responsive.

    Refresh results after each character typed

    Choose this option if you want to send a search request after each character typed. This mode provides a higher responsiveness but consumes more system resources. This option is recommended for:

    • fast servers;
    • small-medium databases;
    • a well balanced search engine configuration.

    Live search style

    Styling the Live Search dropdown is very easy. Advanced Smart Search comes with 13 ready to use styles, an handy start point to building your custom style. You can display/hide product images, set a custom width for the Live Search window, change colors to all elements and set your custom text for the link "Show all results" (you can set a different text for each language installed on your website). To change element colors, click on the color code and select a new one from the color picker tool or just type a code in exadecimal format into the input field.

    License Agreement

    Before using this extension, please read carefully the following End-User License Agreement.


    IMPORTANT - READ CAREFULLY

    Advanced Smart Search - Extension for Opencart
    End-User License Agreement (EULA) - rev.2


    • License

      This End-User License Agreement (EULA) is a legal agreement between You ("Customer", either an individual or a single entity) and the Authors of the Opencart Extension ADVANCED SMART SEARCH ("Software"). By installing, copying or otherwise using the software You agree to be bound by the terms of this EULA.

    • Permitted Uses and Restrictions

      The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The Software is licensed, not sold.

      EXCEPT AS EXPRESSLY AUTHORIZED ABOVE, YOU MAY NOT COPY, IN WHOLE OR IN PART, SOFTWARE OR DOCUMENTATION, MODIFY THE SOFTWARE, REVERSE COMPILE OR REVERSE ASSEMBLE ALL OR ANY PORTION OF THE SOFTWARE, OR RENT, LEASE, DISTRIBUTE, SELL, OR CREATE DERIVATIVE WORKS OF THE SOFTWARE.

    • Description of rights and limitations

      Authors grant You a non-exclusive license to use the Software. This license grants You the following rights:

      • You may download the most current commercially available version, release or update, for a limited period of 12 months commencing from the date of purchase. If the license is not renewed, You will no longer have the rights to download any software release or update.

      • You may use the specific Software version/release/update obtained for an indefinite period of time.

      • YOU MAY INSTALL A COPY OF THIS SOFTWARE ON ONE WEBSITE ONLY. IF YOU WANT TO INSTALL THIS SOFTWARE ON MORE THAN ONE WEBSITE YOU MUST BUY ONE LICENSE FOR EACH WEBSITE.

      • You may use this Software for commercial and non-commercial use. Any use for profit or by any business constitutes commercial use. Any use by recognized academic or charitable institutions constitutes non-commercial use.

    • Support and Fees

      Support will be granted for the specific version/release of the Software purchased, under the following terms:

      Software Support is free for a limited period of 30 days commencing from the date of purchase and only if explicitly stated.

      Support fees applies for each support request after the free Support period. Fees vary depending on the specific request.

    • Limitation of Liability

      The Software is provided "as is" without warranty of any kind, either express or implied, including without limitation any implied warranties of condition, uninterrupted use, merchantability, fitness for a particular purpose, or non-infringement.

      IN NO EVENT WILL THE AUTHORS OF THIS SOFTWARE BE LIABLE FOR ANY LOST REVENUE, PROFIT, OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR PUNITIVE DAMAGES HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF THEY HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

      In no event shall Authors' liability to You, whether in contract, tort (including negligence), or otherwise, exceed the price paid by You.

    • Termination of License

      This License is effective until terminated. You may terminate this License at any time by destroying all copies of Software including any documentation. This License will terminate immediately without notice from Authors if You fail to comply with any provision of this License. Upon termination, You must destroy all copies of Software.

    Buy Advanced Smart Search NOW