|
1 | 1 | # Search
|
2 | 2 |
|
3 |
| - |
| 3 | + |
4 | 4 |
|
5 |
| -The Search module provides a mirrored Elasticsearch index of all CMS content that is optimized for search relevance, speed and accuracy. This operates at a higher level than the primary datastore (MySQL) and is the recommended solution for searching. |
| 5 | +The Search module provides a mirrored Elasticsearch index of all CMS content that is optimized for search relevance, speed and |
| 6 | +accuracy. This operates at a higher level than the primary data store (MySQL) and is the recommended solution for searching. |
6 | 7 |
|
7 | 8 | The benefits of using Elasticsearch over MySQL search queries include:
|
8 | 9 |
|
9 | 10 | - Speed
|
10 | 11 | - Advanced text analysis
|
11 | 12 | - Removing HTML
|
12 | 13 | - Language dependent word stemming and stopwords
|
13 |
| - - Language dependent tokenisation |
| 14 | + - Language dependent tokenization |
14 | 15 | - Configurable relevancy scores
|
15 | 16 | - Fuzzy matching
|
16 | 17 | - Synonyms
|
17 | 18 | - Aggregations for faceted search and statistics
|
18 | 19 |
|
19 |
| -The default Search index and related functionality is provided by the [ElasticPress plugin](https://github.com/10up/ElasticPress) and the multilingual support is derived from [the WordPress.com Elasticsearch library](https://github.com/Automattic/wpes-lib). |
20 |
| - |
| 20 | +The default Search index and related functionality is provided by the [ElasticPress plugin](https://github.com/10up/ElasticPress) |
| 21 | +and the multilingual support is derived from [the WordPress.com Elasticsearch library](https://github.com/Automattic/wpes-lib). |
21 | 22 |
|
22 | 23 | ## Support
|
23 | 24 |
|
24 |
| -Altis provides the Search module and underlying Elasticsearch server to facilitate search on your site, with default configuration to meet a majority of use cases. |
25 |
| - |
26 |
| -Using developer features of the Search module **requires understanding how Elasticsearch works**. We recommend reading the [Elasticsearch guide by Elastic](https://www.elastic.co/guide/en/elasticsearch/). |
| 25 | +Altis provides the Search module and underlying Elasticsearch server to facilitate search on your site, with default configuration |
| 26 | +to meet a majority of use cases. |
27 | 27 |
|
28 |
| -Modifying and tuning search queries for relevance is a subjective process. Additionally, much like writing complex database queries, building custom Elasticsearch queries requires a deep understanding of how Elasticsearch works. |
| 28 | +Using developer features of the Search module **requires understanding how Elasticsearch works**. We recommend reading |
| 29 | +the [Elasticsearch guide by Elastic](https://www.elastic.co/guide/en/elasticsearch/). |
29 | 30 |
|
30 |
| -Guides contained in this documentation are on a best-effort basis; for help with tuning or customising search results, the Altis team can help you find a partner to facilitate your use. Altis support cannot help with tuning results, tweaking configuration, or writing custom Elasticsearch queries. |
| 31 | +Modifying and tuning search queries for relevance is a subjective process. Additionally, much like writing complex database queries, |
| 32 | +building custom Elasticsearch queries requires a deep understanding of how Elasticsearch works. |
31 | 33 |
|
| 34 | +Guides contained in this documentation are on a best-effort basis; for help with tuning or customising search results, the Altis |
| 35 | +team can help you find a partner to facilitate your use. Altis support cannot help with tuning results, tweaking configuration, or |
| 36 | +writing custom Elasticsearch queries. |
32 | 37 |
|
33 | 38 | ## Terminology
|
34 | 39 |
|
35 |
| -Altis includes the Search module (`altis/enhanced-search`) which is built upon a WordPress plugin called ElasticPress, made by our friends at [10up](https://10up.com). Altis adds additional functionality, including deep integration into the Altis platform. |
36 |
| - |
37 |
| -Altis Cloud includes Elasticsearch backend servers, which are a database tuned specifically for search. The Search module sets up a connection to the Elasticsearch servers. |
| 40 | +Altis includes the Search module (`altis/enhanced-search`) which is built upon a WordPress plugin called ElasticPress, made by our |
| 41 | +friends at [10up](https://10up.com). Altis adds additional functionality, including deep integration into the Altis platform. |
38 | 42 |
|
39 |
| -When content is created or updated, that content is **indexed** into Elasticsearch. This works similar to caching, where a copy of your original data is stored within Elasticsearch in an **index** (effectively, a database table). Unlike your original data, the index can also contain additional data just for search, including generated or rendered data. Each item of content is stored as a **document** which has **fields** containing the data. |
| 43 | +Altis Cloud includes Elasticsearch backend servers, which are a database tuned specifically for search. The Search module sets up a |
| 44 | +connection to the Elasticsearch servers. |
40 | 45 |
|
41 |
| -When a user searches for content on your site, Altis converts this into a **query**. The query is run in Elasticsearch against your indexed content, which generates results with a **relevancy score**. Relevancy scores are based on the index configuration, field configuration, the query being run, and the indexed data. |
| 46 | +When content is created or updated, that content is **indexed** into Elasticsearch. This works similar to caching, where a copy of |
| 47 | +your original data is stored within Elasticsearch in an **index** (effectively, a database table). Unlike your original data, the |
| 48 | +index can also contain additional data just for search, including generated or rendered data. Each item of content is stored as a * |
| 49 | +*document** which has **fields** containing the data. |
42 | 50 |
|
| 51 | +When a user searches for content on your site, Altis converts this into a **query**. The query is run in Elasticsearch against your |
| 52 | +indexed content, which generates results with a **relevancy score**. Relevancy scores are based on the index configuration, field |
| 53 | +configuration, the query being run, and the indexed data. |
43 | 54 |
|
44 | 55 | ## Indexing
|
45 | 56 |
|
46 |
| -The indexing process is performed automatically for you by Altis, indexing [most forms of content on your site](./indexing/README.md). Content can be [reindexed if necessary](./indexing/reindexing.md), and [additional data can be indexed](./indexing/additional-data.md). |
47 |
| - |
| 57 | +The indexing process is performed automatically for you by Altis, |
| 58 | +indexing [most forms of content on your site](./indexing/README.md). Content can |
| 59 | +be [reindexed if necessary](./indexing/reindexing.md), and [additional data can be indexed](./indexing/additional-data.md). |
48 | 60 |
|
49 | 61 | ## Querying
|
50 | 62 |
|
51 |
| -Altis [automatically integrates with search queries](./querying/cms-integration.md), as well as providing [autosuggest functionality automatically for your search forms](./querying/autosuggest.md). |
| 63 | +Altis [automatically integrates with search queries](./querying/cms-integration.md), as well as |
| 64 | +providing [autosuggest functionality automatically for your search forms](./querying/autosuggest.md). |
52 | 65 |
|
53 | 66 | Developers can also use [custom queries](./querying/custom-queries.md) for advanced feature development.
|
54 | 67 |
|
55 |
| - |
56 | 68 | ## Configuration
|
57 | 69 |
|
58 |
| -Altis provides [various configuration options](./configuration/README.md) to allow adjusting ElasticPress and Elasticsearch behaviour. |
59 |
| - |
60 |
| -You can also use these options to [tune relevancy scoring](./configuration/tuning.md), including [date-based "decay"](./configuration/date-decay.md). |
| 70 | +Altis provides [various configuration options](./configuration/README.md) to allow adjusting ElasticPress and Elasticsearch |
| 71 | +behaviour. |
61 | 72 |
|
62 |
| -Users can also use the [custom user dictionary settings](./configuration/custom-dictionaries.md) to adjust how text is analyzed, including support for synonyms, stop words and custom text analysis for Japanese. |
| 73 | +You can also use these options to [tune relevancy scoring](./configuration/tuning.md), |
| 74 | +including [date-based "decay"](./configuration/date-decay.md). |
63 | 75 |
|
| 76 | +Users can also use the [custom user dictionary settings](./configuration/custom-dictionaries.md) to adjust how text is analyzed, |
| 77 | +including support for synonyms, stop words and custom text analysis for Japanese. |
64 | 78 |
|
65 | 79 | ## Disabling Search
|
66 | 80 |
|
67 |
| -The Search module works by overriding default WordPress search, which uses MySQL full-text search. If you would prefer to use MySQL search, you can deactivate the search module via your config: |
| 81 | +The Search module works by overriding default WordPress search, which uses MySQL full-text search. If you would prefer to use MySQL |
| 82 | +search, you can deactivate the search module via your config: |
68 | 83 |
|
69 | 84 | ```json
|
70 | 85 | {
|
71 |
| - "extra": { |
72 |
| - "altis": { |
73 |
| - "modules": { |
74 |
| - "search": { |
75 |
| - "enabled": false |
76 |
| - } |
77 |
| - } |
78 |
| - } |
79 |
| - } |
| 86 | + "extra": { |
| 87 | + "altis": { |
| 88 | + "modules": { |
| 89 | + "search": { |
| 90 | + "enabled": false |
| 91 | + } |
| 92 | + } |
| 93 | + } |
| 94 | + } |
80 | 95 | }
|
81 | 96 | ```
|
82 | 97 |
|
83 |
| -**Note:** turning this module off does not remove the Elasticsearch server. This can still be used for [Native Analytics](docs://analytics/native/README.md) and any custom use cases. |
| 98 | +**Note:** turning this module off does not remove the Elasticsearch server. This can still be used |
| 99 | +for [Native Analytics](docs://analytics/native/README.md) and any custom use cases. |
84 | 100 |
|
85 | 101 | Additionally, this will increase load on your database servers. Depending on your Altis subscription, this may incur extra cost.
|
0 commit comments