Commit Graph

60 Commits

Author SHA1 Message Date
Patrik Oldsberg 850e0ebbe3 search-backend-node: update runPeriodically test to work with jest 27
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2022-03-25 11:28:14 +01:00
Mike Lewis d07ed471dc search-backend-node: use new IndexableResultSet type as return type of engine#query
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-17 12:39:42 +00:00
Dimitris Apostolou aedd4daa66 Fix typos
Signed-off-by: Dimitris Apostolou <dimitris.apostolou@icloud.com>
2022-03-13 14:12:05 +02:00
Eric Peterson 3e54f6c436 Use @backstage/plugin-search-common instead of @backstage/search-common
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-04 18:47:55 +01:00
Eric Peterson 0547246b84 Clean up search-common/search-backend-node APIs, indicating beta.
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:29:18 +01:00
Eric Peterson a151cf2a88 Finalize exports for search-backend-node module
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:26:58 +01:00
Eric Peterson c87be57d3a Update LunrSearchEngine to be stream-based
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:26:57 +01:00
Eric Peterson cef19ee966 Introduce a base classes to simplify stream-based implementations
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:26:57 +01:00
Eric Peterson ce3f566e9c Introduce test utilities for stream-based search implementations
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:26:57 +01:00
Eric Peterson 2eae26293e Update IndexBuilder to be a stream pipeline
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:26:57 +01:00
Eric Peterson 804c7906cf Update core search types to be stream-based
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2022-03-02 17:26:56 +01:00
MT Lewis 634abc1a41 search: move DocumentTypeInfo to search-common
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-25 13:01:40 +00:00
MT Lewis f6389e9e5d search-backend-node: track document visibility permission by type in IndexBuilder
Tracking permissions by collator ensures that all the documents of a
given type are authorized using the same permission. This is not
critical for result-by-result authorization, but will likely be a
useful constraint when adding in-engine permission filtering to
specific search engines in the future.

Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-25 13:01:38 +00:00
Fredrik Adelöw 5333451def Got rid of the last brace-typed and hyphen-less params etc
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2022-01-10 09:48:12 +01:00
Tomasz Szuba 428061d7e5 Add tests
Signed-off-by: Tomasz Szuba <tszuba@box.com>
2021-10-21 14:04:58 +02:00
Tomasz Szuba 0de67c4d2a Handle single-item array filter in Lunr search engine
Signed-off-by: Tomasz Szuba <tszuba@box.com>
2021-10-21 13:54:44 +02:00
Patrik Oldsberg 8142a8ecb2 packages,plugins: add package documentation
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2021-09-14 18:47:53 +02:00
Oliver Sand 532b4cc656 Rework search paging based on cursors
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-09-02 10:22:41 +02:00
Oliver Sand 3abef1177e Implement offset and limit based paging in Lunr search engine
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-09-02 10:19:32 +02:00
Jussi Hallila d9c13d535b Implement ElasticSearch search engine
* Adding indexing, searching and default translator for ElasticSearch engine
* Modifying default backend to use ES if it is enabled
* Adding configuration schema to configure ElasticSearch 3 different ways
   * Elastic.co hosted solution
   * AWS hosted ElasticSearch Service
   * Custom, using standard ElasticSearch URL and auth info
* Add and modify some of the documentation regarding search

Signed-off-by: Jussi Hallila <jussi@hallila.com>
2021-07-30 14:26:32 +02:00
Oliver Sand 97b2eb37b2 Change return value of SearchEngine.index to Promise<void>
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-07-09 11:26:42 +02:00
Oliver Sand d4507650bd Merge pull request #6381 from SDA-SE/feat/better-lunr-results
Build search queries using the query build in `LunrSearchEngine`
2021-07-08 11:43:28 +02:00
Oliver Sand 9f3ecb555a Build search queries using the query build in LunrSearchEngine
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-07-07 19:41:54 +02:00
Oliver Sand 0466606d84 Add test for runPeriodically
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-07-06 18:58:06 +02:00
Oliver Sand 03715ceaa4 Add comment and remove initial run
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-07-06 16:37:38 +02:00
Oliver Sand 4176a60e50 Make sure that the search scheduler doesn't run to many tasks in parallel
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-07-06 15:19:59 +02:00
Eric Peterson c086a1cd92 Merge pull request #6134 from SDA-SE/feat/default-catalog-collator-error
Handle errors in collators and decorators and log them
2021-06-22 16:22:14 +02:00
Jesse Bye 3ec487502e Add test case; update changeset message
Signed-off-by: Jesse Bye <jbye@riskalyze.com>
2021-06-22 10:50:28 +02:00
Jesse Bye 7e7cec86ac Escape colons in Lunr search query filters
Signed-off-by: Jesse Bye <jbye@riskalyze.com>
2021-06-22 10:49:53 +02:00
Oliver Sand 9c8ea7e24e Handle errors in collators and decorators and log them.
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-06-21 18:22:30 +02:00
Fredrik Adelöw a88073c29a Update copyright headers
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2021-06-18 20:26:42 +02:00
Oliver Sand 6f0b0c1a33 Add tests for stemming and trimming
Signed-off-by: Oliver Sand <oliver.sand@sda-se.com>
2021-06-16 14:43:25 +02:00
Kevin facbe60532 fix: results are not accurate for search
Signed-off-by: Kevin <dl_xq@sina.com>
2021-06-16 15:36:04 +08:00
Eric Peterson 0a032c55ce Fix bug causing search to be empty initially.
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-04 20:09:28 +02:00
Eric Peterson 8cb45d747a Make the QueryTranslator a more integral part of the SearchEngine API
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:05 +02:00
Eric Peterson 455b97b127 Make type(s) readonly properties of Collator/Decorator classes
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:05 +02:00
Eric Peterson b9b26ec572 Update decorator type-specific decorator test
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:05 +02:00
Eric Peterson f131c3de21 Fix Lunr tests to match new translation logic.
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:05 +02:00
Emma Indal 720fd2f360 prettier
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:04 +02:00
Eric Peterson 1f3e6dff88 Pass result type along from search engine.
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:04 +02:00
Emma Indal 8829e8228e wip composable result list
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:04 +02:00
Emma Indal 94d1d852e1 update lunr search query filters
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:04 +02:00
Emma Indal af6a718e82 change term presence in lunr query
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
2021-06-03 16:28:04 +02:00
Emma Indal 6c46febf63 Add tests for Scheduler
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2021-04-27 11:08:37 +02:00
Emma Indal 4906a4c221 rename test file to be more specific to IndexBuilder
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2021-04-27 11:07:55 +02:00
Emma Indal 266e46d3c3 switch from map to forEach
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2021-04-27 11:07:08 +02:00
Emma Indal 50b15bfeb3 imports and exports
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2021-04-26 16:44:32 +02:00
Emma Indal 9dff1a9839 use scheduler and fix tests
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2021-04-26 16:43:58 +02:00
Emma Indal 0b9eac3a81 refactor build method in indexBuilder
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2021-04-26 16:39:33 +02:00
Emma Indal da489d2cd3 add new Scheduler Class
Signed-off-by: Emma Indal <emma.indahl@gmail.com>
2021-04-26 16:38:34 +02:00