Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/add-ons/pro-search/collections.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,24 +42,24 @@ For non-keyword searches, where collection information is not available, the exc

### Including categories

Low Search can also add category information to the index, making entries searchable by keywords present in their categories. Just like the regular channel fields, you can add weight to the category name, description and any of the category custom fields.
Pro Search can also add category information to the index, making entries searchable by keywords present in their categories. Just like the regular channel fields, you can add weight to the category name, description and any of the category custom fields.


### Building the index

You will need to build the index of the new collection. To do this, just click the Index link on the collections list page for the collection you’ve just created. If you have defined a language, you can also build the Lexicon or both the index and lexicon. Depending on the Batch size set in your Settings and amount of entries in the collection channel, this could take a while.

Once a collection index and lexicon is built, they will automatically stay up to date. However, if you change any of the field weights, you will need to rebuild the index to apply those changes to itself. Low Search will alert you if a rebuild of the index is necessary. In such cases, the lexicon does not need to be updated.
Once a collection index and lexicon is built, they will automatically stay up to date. However, if you change any of the field weights, you will need to rebuild the index to apply those changes to itself. Pro Search will alert you if a rebuild of the index is necessary. In such cases, the lexicon does not need to be updated.

### Third party fieldtypes

If a third party fieldtype stores its data in the native exp_channel_data table, it is supported by Low Search, ie. its contents can be added to the collection index. Because of this, some popular fieldtypes can already be indexed. For example, Matrix stores its searchable columns in said table to enable ExpressionEngine’s native search module and is therefore also supported by Low Search. Playa stores the Title and URL title of selected entries in the same way, which means the index data for searchable Playa fields will consist of these fields.
If a third party fieldtype stores its data in the native exp_channel_data table, it is supported by Pro Search, ie. its contents can be added to the collection index. Because of this, some popular fieldtypes can already be indexed. For example, Matrix stores its searchable columns in said table to enable ExpressionEngine’s native search module and is therefore also supported by Pro Search. Playa stores the Title and URL title of selected entries in the same way, which means the index data for searchable Playa fields will consist of these fields.

If the fieldtype doesn’t store its data in the native exp_channel_data table, it can make use of the Search index API to customize the data that will be added to the collection index.

### Diacritics and foreign characters

One of the advantages of Low Search is the accent-insensitive search. This is achieved by removing any diacritics from characters in the search index. Low Search uses the native foreign characters array to convert these characters to simple ASCII. You can find the array in the /system/expressionengine/config/foreign_chars.php file, which you can modify to your liking. Any characters not present in that array will be left alone. Each search query will be treated in the same way.
One of the advantages of Pro Search is the accent-insensitive search. This is achieved by removing any diacritics from characters in the search index. Pro Search uses the native foreign characters array to convert these characters to simple ASCII. You can find the array in the /system/expressionengine/config/foreign_chars.php file, which you can modify to your liking. Any characters not present in that array will be left alone. Each search query will be treated in the same way.

### Automate building of search indexes

Expand All @@ -73,7 +73,7 @@ The following variables can be added to the call to that URL either via GET or P
- `build` - What you need to build, either index, lexicon or both (the default).
- `collection_id` - Comma separated list of collection IDs to build.
- `entry_id` - Comma separated list of entry IDs to build.
- `key` - Your Low Search license key. Required
- `key` - Your Pro Search license key. Required

**Examples:**

Expand Down
4 changes: 2 additions & 2 deletions docs/add-ons/pro-search/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
ExpressionEngine’s native `channel:entries` tag allows you to fetch and filter entries in many ways by setting its parameters. The native Search module allows for filtering by keyword, but is limited in its capabilities. Pro Search combines the two into one module and then throw in extra features, filters, and a performance boost.


Searching by **keywords** uses a custom [full-text](http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html) index instead of the raw entry data, which makes Low Search fast. **Very fast**. It also adds **relevance** to search results which can be influenced by applying **weight** to any searchable field.
Searching by **keywords** uses a custom [full-text](http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html) index instead of the raw entry data, which makes Pro Search fast. **Very fast**. It also adds **relevance** to search results which can be influenced by applying **weight** to any searchable field.

Apart from the powerful [keywords filter](/add-ons/pro-search/filters.md#keywords), and the ability to **use any native parameter as a search filter**, Low Search adds several other filters to further enhance and refine your search results:
Apart from the powerful [keywords filter](/add-ons/pro-search/filters.md#keywords), and the ability to **use any native parameter as a search filter**, Pro Search adds several other filters to further enhance and refine your search results:

- Select any combination of [categories](/add-ons/pro-search/filters.md#categories);
- Limit entries by a given [distance](/add-ons/pro-search/filters.md#distance) based on latitude/longitude values;
Expand Down
10 changes: 5 additions & 5 deletions docs/add-ons/pro-search/parameters.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
@copyright Copyright (c) 2003-2020, Packet Tide, LLC (https://packettide.com)
@license https://expressionengine.com/license Licensed under Apache License, Version 2.0
-->
# Parameters in Low Search
# Parameters in Pro Search

Low Search uses both native and its own parameters to generate search results. All these parameters can be applied in two ways: as input fields in a Form, or as hard-coded parameters in the Results or URL tag. The values of these parameters can always be shown inside a Low Search tag by using the parameter name as a variable, prefixed with pro_search_.
Pro Search uses both native and its own parameters to generate search results. All these parameters can be applied in two ways: as input fields in a Form, or as hard-coded parameters in the Results or URL tag. The values of these parameters can always be shown inside a Pro Search tag by using the parameter name as a variable, prefixed with pro_search_.

So, any parameter:

Expand Down Expand Up @@ -60,7 +60,7 @@ WARN**Note:** do not include the square brackets in the variable names.

### Inclusive values

The example above will filter results by any of the values given. However, ExpressionEngine also allows you to filter by all of the values, by separating them with an ampersand (&) rather than a vertical bar. Low Search also caters for this, using the require_all parameter, which takes any amount of parameter names as its value. For example:
The example above will filter results by any of the values given. However, ExpressionEngine also allows you to filter by all of the values, by separating them with an ampersand (&) rather than a vertical bar. Pro Search also caters for this, using the require_all parameter, which takes any amount of parameter names as its value. For example:

`category="2&4&6" search:number="one&&three"`

Expand Down Expand Up @@ -89,7 +89,7 @@ This is equal to:

#### Exclude values

ExpressionEngine also allows you to exclude values, by prepending not to the parameter value, which negates the value. Low Search also caters for this, using the exclude parameter, which takes any amount of parameter names as its value. For example:
ExpressionEngine also allows you to exclude values, by prepending not to the parameter value, which negates the value. Pro Search also caters for this, using the exclude parameter, which takes any amount of parameter names as its value. For example:

`category="not 2|4|6" search:number="not one|three"`

Expand Down Expand Up @@ -117,7 +117,7 @@ This is equal to:

### SQL parameters

Low Search supports SQL parameters. This means you can use a SQL query in any pararameter. SQL queries are limited to SELECTs only and should always end with a semi-colon (;). Low Search will take the first item in the SELECT statement and creates a pipe-separated list from it. If the SQL query produces no results, it sets the parameter value to what comes after the semi-colon. You can optionally prefix the SQL query for better matching. Schematically, such a query looks like this:
Pro Search supports SQL parameters. This means you can use a SQL query in any pararameter. SQL queries are limited to SELECTs only and should always end with a semi-colon (;). Pro Search will take the first item in the SELECT statement and creates a pipe-separated list from it. If the SQL query produces no results, it sets the parameter value to what comes after the semi-colon. You can optionally prefix the SQL query for better matching. Schematically, such a query looks like this:

`param="prefix SELECT field FROM table WHERE lorem = 'ipsum';no results"`

Expand Down
6 changes: 3 additions & 3 deletions docs/add-ons/pro-search/tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ Set the default value of any parameter. This value will be overwritten when the

#### disable

In addition to the native values, the disable parameter allows you to disable filters per Results tag. Use the pro_search:filter_name format: for example, disable="pro_search:field_search" will disable Low Search’s Field Search filter. (since v6.2.0)
In addition to the native values, the disable parameter allows you to disable filters per Results tag. Use the pro_search:filter_name format: for example, disable="pro_search:field_search" will disable Pro Search’s Field Search filter. (since v6.2.0)

{disable}

Expand Down Expand Up @@ -231,7 +231,7 @@ Combines the native orderby and sort parameters. Separate field and sort order w

#### query

Use this parameter to pass through the encoded search query, which is present in the search results URI. You can override any of its settings by hard-coding the other Low Search parameters. Note that any of the hard-coded query parameters will not be reflected in the Search Log. Not needed when not encoding queries.
Use this parameter to pass through the encoded search query, which is present in the search results URI. You can override any of its settings by hard-coding the other Pro Search parameters. Note that any of the hard-coded query parameters will not be reflected in the Search Log. Not needed when not encoding queries.

{query}

Expand Down Expand Up @@ -519,7 +519,7 @@ The keywords, URL-encoded.

#### keywords_clean

The keywords, cleaned by the Low Search algorithm, ie. without punctuation or diacritics.
The keywords, cleaned by the Pro Search algorithm, ie. without punctuation or diacritics.

{keywords_clean}

Expand Down
17 changes: 17 additions & 0 deletions docs/add-ons/pro-search/upgrade-from-low-search.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!--
This source file is part of the open source project
ExpressionEngine User Guide (https://github.com/ExpressionEngine/ExpressionEngine-User-Guide)

@link https://expressionengine.com/
@copyright Copyright (c) 2003-2020, Packet Tide, LLC (https://packettide.com)
@license https://expressionengine.com/license Licensed under Apache License, Version 2.0
-->

# Upgrading from Low Search

In the ExpressionEngine v7.0.0 release, Pro Search was added added as a native add-on that ships with the core files. It is an update of the standalone add-on Low Search. If you previously had Low Search installed, the update will automatically install Pro Search and uninstall Low Search. The transition should be automatic and seamless, and old Low Search tags will continue to function.

However, best practice in this situation requires 2 additional steps:

- Remove the old add-on folder system/user/addons/low_search.
- Replace the old format ``{exp:low_search:`` tags with new ``{exp:pro_search:``. This can be done with the Find and Replace utility found in `Tools - Utilities - Search and Replace`. It is recommended that you save a database back before making this change. Then simply search for `{exp:low_search:` and replace with `{exp:pro_search:`.
17 changes: 17 additions & 0 deletions docs/add-ons/pro-variables/upgrade-from-low-variables.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!--
This source file is part of the open source project
ExpressionEngine User Guide (https://github.com/ExpressionEngine/ExpressionEngine-User-Guide)

@link https://expressionengine.com/
@copyright Copyright (c) 2003-2020, Packet Tide, LLC (https://packettide.com)
@license https://expressionengine.com/license Licensed under Apache License, Version 2.0
-->

# Upgrading from Low Variables

In the ExpressionEngine v7.0.0 release, Pro Variables was added added as a native add-on that ships with the core files. It is an update of the standalone add-on Low Variables. If you previously had Low Variables installed, the update will automatically install Pro Variables and uninstall Low Variables. The transition should be automatic and seamless, and old Low Variables tags will continue to function.

However, best practice in this situation requires 2 additional steps:

- Remove the old add-on folder system/user/addons/low_variables.
- Replace the old format `{exp:low_variables:` tags with new `{exp:pro_variables:` format. This can be done with the Find and Replace utility found in `Tools - Utilities - Search and Replace`. It is recommended that you save a database backup before making this change. Then simply search for `{exp:low_variables:` and replace with `{exp:pro_variables:`.
6 changes: 6 additions & 0 deletions docs/installation/version-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,9 @@ The following list are items that you will want to be aware of.
- Displaying an RTE field in the Channel Form's channel entry loop should be done using `{display_field}` rather than manually constructing a textarea field.
- A number of new language keys have been added. Custom languages will need to be updated for 6.0.

## Version Notes for 7.0.0

ExpressionEngine 7.0.0 integrated both Low Search (now Pro Search) and Low Variables (now Pro Variables) as native add-ons in the core. If you have either add-on already installed, the following steps are recommended.

- After upgrade, if Low Search and/or Low variables were already installed, on the Add-on page you will see the corresponding native Pr Search/Pro Variables installed and the Low add-on uninstalled. This was done automatically. You should remove the old add-on folder in system/user/addons/.
- While old Low Search and Low Variable tags will continue to work in version 7, it is recommended they be replaced. To do so, first backup your database. Next, in `Tools - Utilities - Search and Replace`, search for ``{exp:low_search:`` and replace with `{exp:pro_search:`. Likewise, if Low Variables was used, search for `{exp:low_variables:` and replace with `{exp:pro_variables:`.