Skip to content

Commit

Permalink
📝 fix grammar
Browse files Browse the repository at this point in the history
Signed-off-by: vankichi <kyukawa315@gmail.com>
  • Loading branch information
vankichi committed May 20, 2022
1 parent c67ec71 commit 7e2ab6a
Showing 1 changed file with 33 additions and 32 deletions.
65 changes: 33 additions & 32 deletions docs/user-guides/search-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,37 @@

<!-- Describe vald search service: search, searchbyid, linearsearch, lineasearchbyid ... -->

Vald provides the two types of search service.
Vald provides the two types of search services.

1. Search

- `Search` is just the `ANN(Approximate Nearest Neighbor)` search with query vector.
It is the fast search even the vector consists large dimension.
The search duration is fast, but less accurate than `LinearSearch`.
Search algorithm depends on each core algorithm.
It is a fast search even though the vector consists large dimension.
The search duration is quick but less accurate than `LinearSearch`.
The search algorithm depends on each core algorithm.

1. SearchById

- `SearchById` is just the `ANN(Approximate Nearest Neighbor)` search with vector's id.
The id should be already indexed before search process.
The sarch algorithm is the same as `Search`.
- `SearchById` is just the `ANN(Approximate Nearest Neighbor)` search with the vector's id.
The id should already exist in the NGT indexes before the search process.
The search algorithm is the same as `Search`.

1. LinearSearch

- `LinearSearch` is the basic search algorithm with query vector.
- `LinearSearch` is the primary search algorithm with a query vector.
It searches all indexed vectors and calculates the distance between the query.
Its accuracy is exact, but the search time requires more than `Search` (ANN search) and increases the amount of indexed vector.

1. LinearSearchById
- `LinearSearchById` is the basic search algorithm with vector's id.
The id should be already indexed before search process.
The sarch algorithm is the same as `LinearSearch`.
- `LinearSearchById` is the primary search algorithm with the vector's id.
The id should already exist in the NGT indexes before the search process.
The search algorithm is the same as `LinearSearch`.

<div class="notice">
Linear Search service is available from Vald v1.4 or later.
</div>

For more details, please refer to [Search API document](../api/search.md)
For more details, please refer to [the Search API document](../api/search.md).

## Configuration

Expand Down Expand Up @@ -67,50 +67,51 @@ message Config {

### request_id

`request_id` is unique request ID.
`request_id` is a unique request ID.
It is **NOT** indexed vector's id.
It can be used for e.g., error handling process.
Users can use it for, e.g., the error handling process.

### num

`num` is the maximum number of search result which you'd like to get.
`num` should be positive integer.
`num` is the maximum number of search results you'd like to get.
`num` should be a positive integer.

### radius

`radius`, the specific parameter for NGT, specifies the search range centered on the query vector in terms of the radius of a circle.
The number of search target vectors increases along with the radius is large.
There is the trade-off between accuracy and search speed.
In many cases, it is hard to set it due to depending on dataset.
There is a trade-off between accuracy and search speed.
In many cases, it is hard to set it depending on dataset.

The default value is infinite circle.
When setting negative number as `radius`, `NGT` applies the radius as infinite circle.
The default value is the infinite circle.
When setting a negative number as `radius`, `NGT` applies the radius as an infinite circle.

<div class="notice">
NGT will self-update radius during search process.
NGT will self-update the radius during the search process.
</div>

### epsilon

`epsilon`, the specific parameter for NGT, specifies the magnification coefficient (epsilon) of the search range.
`epsilon`, the specific parameter for NGT, specifies the search range's magnification coefficient (epsilon).
NGT will use `(1+epsilon)*radius` as the search range.
The number of search target vectors increases along with the epsilon is large.
The number of search target vectors increases along with the epsilon being large.

The default value (recommend value) is `0.1`.
While it is desirable to adjust this value within the range of 0 - 0.3, a negative value (over than `-1`) may also be specified.

The default value (recommend value) is 0.1.
While it is desirable to adjust this value within 0 - 0.3, it can also set a negative value (over than -1).

### ingress_filters

`ingress_filters` is required when using ingress filter component.
It requires ingress filter component's hostname and port.
`ingress_filters` is required when using the ingress filter component.
It requires the ingress filter component's hostname and port.

### egress_filters

`egress_filters` is required when using egress filter component.
It requires egress filter component's hostname and port.
`egress_filters` is required when using the egress filter component.
It requires the egress filter component's hostname and port.

### min_num

`min_num` is the minimum number of search result which you'd like to get at least.
It helps you to avoid getting the timeout error when the search process requires more time.
`min_num` should be positive integer and smaller than `num`.
`min_num` is the minimum number of search result you'd like to get at least.
It helps you avoid getting the timeout error when the search process requires more time.
`min_num` should be a positive integer and smaller than `num`.

0 comments on commit 7e2ab6a

Please sign in to comment.