# @backstage/plugin-search-common
## 1.2.10
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.12
- @backstage/types@1.1.1
## 1.2.9
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.11
- @backstage/types@1.1.1
## 1.2.8
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.10
- @backstage/types@1.1.1
## 1.2.7
### Patch Changes
- Updated dependencies
- @backstage/types@1.1.1
- @backstage/plugin-permission-common@0.7.9
## 1.2.7-next.0
### Patch Changes
- Updated dependencies
- @backstage/types@1.1.1
- @backstage/plugin-permission-common@0.7.9-next.0
## 1.2.6
### Patch Changes
- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
- Updated dependencies
- @backstage/plugin-permission-common@0.7.8
- @backstage/types@1.1.1
## 1.2.6-next.2
### Patch Changes
- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
- Updated dependencies
- @backstage/plugin-permission-common@0.7.8-next.2
- @backstage/types@1.1.1-next.0
## 1.2.6-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.8-next.1
- @backstage/types@1.1.0
## 1.2.6-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.8-next.0
- @backstage/types@1.1.0
## 1.2.5
### Patch Changes
- Updated dependencies
- @backstage/types@1.1.0
- @backstage/plugin-permission-common@0.7.7
## 1.2.5-next.0
### Patch Changes
- Updated dependencies
- @backstage/types@1.1.0
- @backstage/plugin-permission-common@0.7.7-next.0
## 1.2.4
### Patch Changes
- Updated dependencies
- @backstage/types@1.1.0
- @backstage/plugin-permission-common@0.7.6
## 1.2.4-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.6-next.0
- @backstage/types@1.0.2
## 1.2.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.5
- @backstage/types@1.0.2
## 1.2.3-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.5-next.0
- @backstage/types@1.0.2
## 1.2.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.4
- @backstage/types@1.0.2
## 1.2.2-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.4-next.0
- @backstage/types@1.0.2
## 1.2.1
### Patch Changes
- Updated dependencies
- @backstage/types@1.0.2
- @backstage/plugin-permission-common@0.7.3
## 1.2.1-next.0
### Patch Changes
- Updated dependencies
- @backstage/types@1.0.2
- @backstage/plugin-permission-common@0.7.3-next.0
## 1.2.0
### Minor Changes
- 29ebc43a0b: numberOfResults (total number of results for a given query) can now be provided by each search engine and consumed as part of the search results response
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.2
- @backstage/types@1.0.2
## 1.2.0-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.2-next.2
- @backstage/types@1.0.2-next.1
## 1.2.0-next.2
### Minor Changes
- 29ebc43a0b: numberOfResults (total number of results for a given query) can now be provided by each search engine and consumed as part of the search results response
### Patch Changes
- Updated dependencies
- @backstage/types@1.0.2-next.1
- @backstage/plugin-permission-common@0.7.2-next.1
## 1.1.2-next.1
### Patch Changes
- Updated dependencies
- @backstage/types@1.0.2-next.1
- @backstage/plugin-permission-common@0.7.2-next.1
## 1.1.2-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.2-next.0
- @backstage/types@1.0.2-next.0
## 1.1.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.1
- @backstage/types@1.0.1
## 1.1.1-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.1-next.0
- @backstage/types@1.0.1-next.0
## 1.1.0
### Minor Changes
- a799972bb1: There is a new property called `pageLimit` on the `SearchQuery` interface that specifies how many results should be returned per page.
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.0
- @backstage/types@1.0.0
## 1.1.0-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.0-next.2
- @backstage/types@1.0.0
## 1.1.0-next.1
### Minor Changes
- a799972bb1: There is a new property called `pageLimit` on the `SearchQuery` interface that specifies how many results should be returned per page.
### Patch Changes
- Updated dependencies
- @backstage/types@1.0.0
- @backstage/plugin-permission-common@0.6.5-next.1
## 1.0.2-next.0
### Patch Changes
- Updated dependencies
- @backstage/types@1.0.0
- @backstage/plugin-permission-common@0.6.5-next.0
## 1.0.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.6.4
## 1.0.1-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.6.4-next.0
## 1.0.0
### Major Changes
- 7bd7d336b2: This package has been promoted to 1.0. Read more about what it means in [New release: Backstage Search 1.0 blog](https://backstage.io/blog/2022/07/19/releasing-backstage-search-1.0)
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.6.3
## 0.3.6-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.6.3-next.0
## 0.3.5
### Patch Changes
- 7d8acfc32e: `@beta` exports now replaced with `@public` exports
- 484afdf1dc: Added an optional `rank` attribute to the `Result` type. This represents the result rank (starting at 1) for a given result in a result set for a given search.
- Updated dependencies
- @backstage/plugin-permission-common@0.6.2
## 0.3.5-next.1
### Patch Changes
- 7d8acfc32e: `@beta` exports now replaced with `@public` exports
## 0.3.5-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.6.2-next.0
## 0.3.4
### Patch Changes
- 3a74e203a8: Support generating highlighted matched terms in search result data
- Updated dependencies
- @backstage/plugin-permission-common@0.6.1
## 0.3.4-next.0
### Patch Changes
- 3a74e203a8: Support generating highlighted matched terms in search result data
- Updated dependencies
- @backstage/plugin-permission-common@0.6.1-next.0
## 0.3.3
### Patch Changes
- c8b295f2fb: - Introduce `SearchDocument` type. This type contains the subset of `IndexableDocument` properties relevant to the frontend, and is intended to be used for documents returned to the frontend from the search API.
- `SearchResultSet` is now a wrapper for documents of type `SearchDocument`, and is intended to be used in the frontend. This isn't a breaking change, since `IndexableDocument`s are valid `SearchDocument`s, so the old and new types are compatible.
- Introduce `IndexableResultSet` type, which wraps `IndexableDocument` instances in the same way as `SearchResultSet`.
- Updated dependencies
- @backstage/plugin-permission-common@0.6.0
## 0.3.3-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.6.0-next.0
## 0.3.3-next.0
### Patch Changes
- c8b295f2fb: - Introduce `SearchDocument` type. This type contains the subset of `IndexableDocument` properties relevant to the frontend, and is intended to be used for documents returned to the frontend from the search API.
- `SearchResultSet` is now a wrapper for documents of type `SearchDocument`, and is intended to be used in the frontend. This isn't a breaking change, since `IndexableDocument`s are valid `SearchDocument`s, so the old and new types are compatible.
- Introduce `IndexableResultSet` type, which wraps `IndexableDocument` instances in the same way as `SearchResultSet`.
## 0.3.2
### Patch Changes
- Updated dependencies
- @backstage/types@1.0.0
- @backstage/plugin-permission-common@0.5.3
## 0.3.1
### Patch Changes
- d52155466a: Renamed `@backstage/search-common` to `@backstage/plugin-search-common`.
## 0.3.1-next.0
### Patch Changes
- d52155466a: Renamed `@backstage/search-common` to `@backstage/plugin-search-common`.
## 0.3.0
### Minor Changes
- 022507c860: **BREAKING**
The Backstage Search Platform's indexing process has been rewritten as a stream
pipeline in order to improve efficiency and performance on large document sets.
The concepts of `Collator` and `Decorator` have been replaced with readable and
transform object streams (respectively), as well as factory classes to
instantiate them. Accordingly, the `SearchEngine.index()` method has also been
replaced with a `getIndexer()` factory method that resolves to a writable
object stream.
Check [this upgrade guide](https://backstage.io/docs/features/search/how-to-guides#how-to-migrate-from-search-alpha-to-beta)
for further details.
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.5.2
## 0.2.4
### Patch Changes
- Fix for the previous release with missing type declarations.
- Updated dependencies
- @backstage/types@0.1.3
- @backstage/plugin-permission-common@0.5.1
## 0.2.3
### Patch Changes
- c77c5c7eb6: Added `backstage.role` to `package.json`
- Updated dependencies
- @backstage/plugin-permission-common@0.5.0
- @backstage/types@0.1.2
## 0.2.2
### Patch Changes
- 9a511968b1: - Add optional visibilityPermission property to DocumentCollator type
- Add new DocumentTypeInfo type for housing information about the document types stored in a search engine.
- b2e918fa0b: Add optional resourceRef field to the IndexableDocument type for use when authorizing access to documents.
- 96cbebc629: Add optional query request options containing authorization token to SearchEngine#query.
## 0.2.1
### Patch Changes
- 10615525f3: Switch to use the json and observable types from `@backstage/types`
## 0.2.0
### Minor Changes
- a13f21cdc: Implement optional `pageCursor` based paging in search.
To use paging in your app, add a `` to your
`SearchPage.tsx`.
## 0.1.3
### Patch Changes
- d9c13d535: Implements configuration and indexing functionality for ElasticSearch search engine. Adds indexing, searching and default translator for ElasticSearch and modifies default backend example-app to use ES if it is configured.
## Example configurations:
### AWS
Using AWS hosted ElasticSearch the only configuration options needed is the URL to the ElasticSearch service. The implementation assumes
that environment variables for AWS access key id and secret access key are defined in accordance to the [default AWS credential chain.](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html).
```yaml
search:
elasticsearch:
provider: aws
node: https://my-backstage-search-asdfqwerty.eu-west-1.es.amazonaws.com
```
### Elastic.co
Elastic Cloud hosted ElasticSearch uses a Cloud ID to determine the instance of hosted ElasticSearch to connect to. Additionally, username and password needs to be provided either directly or using environment variables like defined in [Backstage documentation.](https://backstage.io/docs/conf/writing#includes-and-dynamic-data)
```yaml
search:
elasticsearch:
provider: elastic
cloudId: backstage-elastic:asdfqwertyasdfqwertyasdfqwertyasdfqwerty==
auth:
username: elastic
password: changeme
```
### Others
Other ElasticSearch instances can be connected to by using standard ElasticSearch authentication methods and exposed URL, provided that the cluster supports that. The configuration options needed are the URL to the node and authentication information. Authentication can be handled by either providing username/password or and API key or a bearer token. In case both username/password combination and one of the tokens are provided, token takes precedence. For more information how to create an API key, see [Elastic documentation on API keys](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html) and how to create a bearer token, see [Elastic documentation on tokens.](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-service-token.html)
#### Configuration examples
##### With username and password
```yaml
search:
elasticsearch:
node: http://localhost:9200
auth:
username: elastic
password: changeme
```
##### With bearer token
```yaml
search:
elasticsearch:
node: http://localhost:9200
auth:
bearer: token
```
##### With API key
```yaml
search:
elasticsearch:
node: http://localhost:9200
auth:
apiKey: base64EncodedKey
```
- Updated dependencies
- @backstage/config@0.1.6
## 0.1.2
### Patch Changes
- db1c8f93b: The ` set of components exported by the Search Plugin are now updated to use the Search Backend API. These will be made available as the default non-"next" versions in a follow-up release.
The interfaces for decorators and collators in the Search Backend have also seen minor, breaking revisions ahead of a general release. If you happen to be building on top of these interfaces, check and update your implementations accordingly. The APIs will be considered more stable in a follow-up release.