|
3 | 3 | = Full-text indexes |
4 | 4 |
|
5 | 5 | A full-text index is used to index nodes and relationships by `STRING` properties. |
6 | | -Unlike xref:indexes/search-performance-indexes/managing-indexes.adoc#indexes-create-range-index[range] and xref:indexes/search-performance-indexes/managing-indexes.adoc#indexes-create-text-index[text] indexes, which can only perform limited `STRING` matching (exact, prefix, substring, or suffix matches), full-text indexes stores individual words in any given `STRING` property. |
| 6 | +Unlike xref:indexes/search-performance-indexes/managing-indexes.adoc#create-range-index[range] and xref:indexes/search-performance-indexes/managing-indexes.adoc#create-text-index[text] indexes, which can only perform limited `STRING` matching (exact, prefix, substring, or suffix matches), full-text indexes stores individual words in any given `STRING` property. |
7 | 7 | This means that full-text indexes can be used to match within the _content_ of a `STRING` property. |
8 | 8 | Full-text indexes also return a score of proximity between a given query string and the `STRING` values stored in the database, thus enabling them to semantically interpret data. |
9 | 9 |
|
@@ -83,15 +83,15 @@ The default analyzer (`standard-no-stop-words`) analyzes both the indexed values |
83 | 83 | Stop words are common words in a language that can be filtered out during |
84 | 84 | information retrieval tasks since they are considered to be of little use when determining the meaning of a string. These words are typically short and frequently used across various contexts. |
85 | 85 |
|
86 | | -For example, the following stop words are included in Lucene’s english analyzer: "a", "an", "and", "are", "as", "at", "be", "but”, and so on. |
| 86 | +For example, the following stop words are included in Lucene’s `english` analyzer: "a", "an", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", and "with". |
87 | 87 |
|
88 | 88 | Removing stop words can help reduce the size of stored data and thereby improve the efficiency of data retrieval. |
89 | 89 | ==== |
90 | 90 |
|
91 | 91 | In some cases, using different analyzers for the indexed values and query string is more appropriate. |
92 | | -For example, if handling `STRING` values written in Swedish, it may be beneficial to select the _swedish_ analyzer, which knows how to tokenize Swedish words, and will avoid indexing Swedish stop words. |
| 92 | +For example, if handling `STRING` values written in Swedish, it may be beneficial to select the `swedish` analyzer, which knows how to tokenize Swedish words, and will avoid indexing Swedish stop words. |
93 | 93 |
|
94 | | -A complete list of all available analyzers is included in the result of the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/reference/procedures/#procedure_db_index_fulltext_listavailableanalyzers[`db.index.fulltext.listAvailableAnalyzers`] procedure. |
| 94 | +The link:{neo4j-docs-base-uri}/operations-manual/{page-version}/reference/procedures/#procedure_db_index_fulltext_listavailableanalyzers[`db.index.fulltext.listAvailableAnalyzers()`] procedure shows all available analyzers. |
95 | 95 |
|
96 | 96 | Neo4j also supports the use of custom analyzers. |
97 | 97 | For more information, see the link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/full-text-analyzer-provider[Java Reference Manual -> Full-text index analyzer providers]. |
@@ -133,13 +133,12 @@ For more information on how to configure full-text indexes, refer to the link:{n |
133 | 133 | [[query-full-text-indexes]] |
134 | 134 | == Query full-text indexes |
135 | 135 |
|
| 136 | +Unlike xref:indexes/search-performance-indexes/managing-indexes.adoc[search-performance indexes], full-text indexes are not automatically used by the xref:planning-and-tuning/execution-plans.adoc[Cypher query planner]. |
136 | 137 | To query a full-text index, use either the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/reference/procedures/#procedure_db_index_fulltext_querynodes[`db.index.fulltext.queryNodes`] or the link:{neo4j-docs-base-uri}/operations-manual/{page-version}/reference/procedures/#procedure_db_index_fulltext_relationships[`db.index.fulltext.queryRelationships`] procedure. |
137 | 138 |
|
138 | 139 | [NOTE] |
139 | | -==== |
140 | | -Unlike other xref:indexes/search-performance-indexes/managing-indexes.adoc[search-performance indexes], full-text indexes are not automatically used by the xref:planning-and-tuning/execution-plans.adoc[Cypher query planner]. |
141 | | -To access full-text indexes, they must be explicitly called with the above-mentioned procedures. |
142 | | -==== |
| 140 | +An index cannot be used while its `state` is `POPULATING`, which occurs immediately after it is created. |
| 141 | +To check the `state` of a full-text index -- whether it is `ONLINE` (usable) or `POPULATING` (still being built; the `populationPercent` column shows the progress of the index creation) -- run the following command: `SHOW FULLTEXT INDEXES`. |
143 | 142 |
|
144 | 143 | This query uses the `db.index.fulltext.queryNodes` to look for `nils` in the previously created full-text index `namesAndTeams`: |
145 | 144 |
|
|
0 commit comments