Skip to content

Commit

Permalink
RDoc-2499_Corax-6.0-updates - fixed by review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
reebhub committed Aug 30, 2023
1 parent 780d5bf commit 947c37f
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{NOTE: }

* **Corax** is RavenDB's native search engine, introduced in RavenDB
version 5.4 as an in-house searching alternative for Lucene.
version 6.0 as an in-house searching alternative for Lucene.
Lucene remains available as well, you can use either search engine
as you prefer.

Expand Down Expand Up @@ -74,6 +74,20 @@ E.g. -
You must restart the server for the new settings to be read and applied.
{NOTE/}

{NOTE: }
Selecting a new search engine will change the search engine only for indexes created from now on.

E.g., If my configuration has been `"Indexing.Static.SearchEngineType": "Corax"`
until now and i now change it to `"Indexing.Static.SearchEngineType": "Lucene"`,
static indexes created from now on will use Lucene, but static indexes created
while Corax was selected will continue using Corax.

After selecting a new search engine using the above options, change the search
engine used by an existing index by [resetting](../../client-api/operations/maintenance/indexes/reset-index)
the index.
{NOTE/}


---

### Select Search Engine: Per Database
Expand Down Expand Up @@ -145,7 +159,7 @@ These are the features currently supported/yet-unsupported by Corax.
|------------------------------------------------------------------------|--------------------
| [Boosting](../../indexes/boosting) <br> Boosting **documents** during indexing <br> Boosting **document fields** during indexing | <br> `yes` <br> **no**
| [WKT shapes](../../indexes/indexing-spatial-data) <br> Indexing **spatial points** during the indexing of spatial data <br> Indexing **WKT shapes** during the indexing of spatial data | <br> `yes` <br> **no**

| [Custom analyzers](../../studio/database/settings/custom-analyzers) | **no**

* **While querying**:

Expand All @@ -155,12 +169,21 @@ These are the features currently supported/yet-unsupported by Corax.
| [Facets](../../indexes/querying/faceted-search) | `yes`
| Searching by [Regex](../../client-api/session/querying/text-search/using-regex) | `yes`
| [Fuzzy Search](../../client-api/session/querying/text-search/fuzzy-search) | **no**
| [Explanations](../../client-api/session/querying/debugging/include-explanations) | **no**
| [Distinct](../../indexes/querying/distinct) operation on a collection with more than int32 ({int.MaxValue}) documents | **no**

throw new NotSupportedInCoraxException($"{nameof(Corax)} doesn't support {nameof(Explanations)} yet.");
throw new NotSupportedInCoraxException($"Corax doesn't support 'Distinct' operation on collection bigger than int32 ({int.MaxValue}).");

* **Dynamic Fields**

* [Dynamic Fields](../../indexes/using-dynamic-fields)
| Feature | Supported by Corax
|----------------|--------------------
| [Dynamic Fields](../../indexes/using-dynamic-fields) | `yes`

| Feature | Supported by Corax | Comment
|----------------|--------------------|--------
| Dynamic Fields | `yes` | Corax' handling of dynamic fields is similar to Lucene's.
* **Complex JSON properties**
Complex JSON properties cannot currently be indexed and searched by Corax.
Read more about this [below](../../indexes/search-engine/corax#handling-of-complex-json-objects).

* `WHERE`

Expand Down Expand Up @@ -203,7 +226,7 @@ These are the features currently supported/yet-unsupported by Corax.

Trying to use Corax with an unimplemented method (see
[Supported Features](../../indexes/search-engine/corax#supported-features) above)
will generate a `System.NotImplementedException` exception and end the search.
will generate a `NotSupportedInCoraxException` exception and end the search.

{INFO: }
E.g. -
Expand Down Expand Up @@ -274,8 +297,9 @@ select Lucene as your search engine when you need to index nested properties.

You can use Corax as your search engine, but explicitly disable the indexing
of complex objects.
When you disable the **indexing** of a field this way, the field's contents
can still be **stored and projected**.
When you disable the indexing of a field this way, the field's content
can still be stored so it may be used in
[projection queries](../../indexes/querying/projections#projections-and-stored-fields).

* To disable indexing for a specified field **via Studio**:

Expand Down Expand Up @@ -355,6 +379,12 @@ Corax configuration options include:
* [Indexing.Corax.IncludeSpatialDistance](../../server/configuration/indexing-configuration#indexing.corax.includespatialdistance)
Used to include spatial information in document metadata when sorting by distance.

* [Indexing.Corax.DocumentsLimitForCompressionDictionaryCreation](../../server/configuration/indexing-configuration#indexing.corax.documentslimitforcompressiondictionarycreation)
Set the Corax index compression max documents limit used for dictionary creation.

* [Indexing.Corax.MaxMemoizationSizeInMb](../../server/configuration/indexing-configuration#indexing.corax.maxmemoizationsizeinmb)
The maximum amount of memory that Corax can use for a memoization clause during query processing.


{PANEL/}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -417,3 +417,23 @@ Disabling this option can improve query performance.
- **Scope**: Server-wide, per database, or per index

{PANEL/}

{PANEL:Indexing.Corax.DocumentsLimitForCompressionDictionaryCreation}

Corax index compression max documents used for dictionary creation.

- **Type**: `int`
- **Default**: `100000`
- **Scope**: Server-wide, per database, or per index

{PANEL/}

{PANEL:Indexing.Corax.MaxMemoizationSizeInMb}

The maximum amount of memory that Corax can use for a memoization clause during query processing.

- **Type**: `Size`
- **Default**: `128`
- **Scope**: Server-wide, per database, or per index

{PANEL/}

0 comments on commit 947c37f

Please sign in to comment.