Skip to content

Latest commit

 

History

History
55 lines (28 loc) · 1.61 KB

README.md

File metadata and controls

55 lines (28 loc) · 1.61 KB

JavaZone History

What is this? TBD :)

Elastic

Development running - user elastic, password elastic.

Start elastic in docker - docker compose up -d

Notes - at present - indexing takes about 4 mins on dev laptop. Comment out some endpoints in application.conf if you don't want to wait.

If you have a valid complete index from an earlier run - you can start the app with ELASTIC_SKIP_INDEX=true in the environment and it will skip the indexing and use the existing data.

Calls to API will return 503 until the index is ready.

You can check state with /api/state (searching will only work when state is INDEXED).

Bruno

REST client for testing.

Available from Use Bruno

Open the collection in the bruno folder

API

GET /api/search/videos

returns title, video and year for all sessions that have a video link

GET /api/search/state

returns the indexing state - NEW/MAPPED/INDEXED

POST /api/search

{ "query": "searchString" }

simple text search

returns matches and some aggregate information

A search of { "query": "*" } returns aggregate for all documents but no actual hits (used for initial page load)

Local running

Start the ktor Application.kt - if you've a valid index and don't need to update - set ELASTIC_SKIP_INDEX=true in the env.

Start the frontend - npm run dev - this starts on port 3000 and proxies /api to the ktor app on port 8080.

Building

Gradle build of the system calls npm run build then copies the frontend build into the /static directory of the ktor app. This gets served on the root URL so avoids any need for CORS.