lexfcs-endpoint

LexFCS Endpoint with Solr search engine

https://github.com/saw-leipzig/lexfcs-endpoint

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

LexFCS Endpoint with Solr search engine

Basic Info
  • Host: GitHub
  • Owner: saw-leipzig
  • Language: Java
  • Default Branch: main
  • Size: 108 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 8 months ago · Last pushed 8 months ago
Metadata Files
Readme Citation

README.md

LexFCS endpoint example using Solr as search engine

This is a LexFCS endpoint implementation with example configuration and example data to quickly spin up a working deployment that can be easily adapted to custom data and environments.

The endpoint project consists of two parts:

  • lexfcs-solr/: the Solr search engine where data is indexed and searchable,
  • lexfcs-solr-endpoint/: the actual LexFCS endpoint, a Java servlet for Jetty/Tomcat, forwarding FCS search requests to Solr and wrapping results appropriately.

The example deployment uses docker compose for easy setup and encapsulation. Please look at lexfcs-solr/README.md and lexfcs-solr-endpoint/README.md for more details on configurations, data formats, and customization.

Quickstart

  1. Start up Solr with example data

bash cd lexfcs-solr/ # NOTE: please update the credentials cp credentials.sh.template credentials.sh # start and run in background ./startup.sh

  1. Start LexFCS endpoint

bash cd lexfcs-solr-endpoint/ # build endpoint docker compose build # NOTE: please update the credentials ... cp .env.template .env # start and run in background docker compose up -d

  1. Test LexFCS endpoint

Assuming default configuration, the endpoint should be live at: http://localhost:8189/

```bash # endpoint description curl 'http://localhost:8189/?x-fcs-endpoint-description=true&x-indent-response=2'

# basic search curl 'http://localhost:8189/?query=*&x-indent-response=2'

# basic search with more parameters # - query (with type (BASIC/CQL search)): ?query=* ?queryType=cql # - result set: ?startRecord=1 ?maximumRecords=10 (from record 1 to 10) # - fcs relevant: recordSchema=http%3A%2F%2Fclarin.eu%2Ffcs # - resource selection: ?x-fcs-context=testwiktionary-en # - pretty printing: ?x-indent-response=2 curl 'http://localhost:8189/dict?query=a&queryType=cql&startRecord=1&maximumRecords=10&recordSchema=http%3A%2F%2Fclarin.eu%2Ffcs%2Fresource&x-fcs-context=testwiktionary-en&x-indent-response=2'

# lexical search curl 'http://localhost:8189/?query=*&queryType=lex&x-indent-response=2' ```

  1. Stop (optional)

bash ( cd lexfcs-solr-endpoint/ ; docker compose down -v ) ( cd lexfcs-solr/ ; docker compose down -v )

Configurations

There are multiple configuration files, please look at lexfcs-solr/README.md and lexfcs-solr-endpoint/README.md.

For changing credentials (Solr), update the Solr configuration lexfcs-solr/credentials.sh (template: lexfcs-solr/credentials.sh.template) but also update in the FCS endpoint configurations lexfcs-solr-endpoint/.env (template: lexfcs-solr-endpoint/.env.template) to allow access.

Both Solr and the FCS endpoint share a network (see lexfcs-solr/docker-compose.override.yml and lexfcs-solr-endpoint/docker-compose.override.yml), so there should not be any port conflicts when run with docker compose. But if there are changes, please update the Solr endpoint URL in lexfcs-solr-endpoint/.env (environment variable SOLR_URL).

Owner

  • Name: Sächsische Akademie der Wissenschaften zu Leipzig
  • Login: saw-leipzig
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Körner"
  given-names: "Erik"
  orcid: "https://orcid.org/0000-0002-5639-6177"
title: "LexFCS Endpoint with Solr search engine"
version: 1.0.0
date-released: 2025-07-09
url: "https://github.com/saw-leipzig/lexfcs-endpoint"

GitHub Events

Total
  • Member event: 1
  • Push event: 1
Last Year
  • Member event: 1
  • Push event: 1

Dependencies

lexfcs-solr/docker-compose.override.yml docker
lexfcs-solr/docker-compose.yml docker
  • solr 9.1
lexfcs-solr-endpoint/Dockerfile docker
  • jetty 10-jdk11-eclipse-temurin build
  • maven 3.9.9-eclipse-temurin-11-focal build
lexfcs-solr-endpoint/docker-compose.override.yml docker
lexfcs-solr-endpoint/docker-compose.yml docker
lexfcs-solr-endpoint/pom.xml maven
  • javax.servlet:javax.servlet-api 4.0.1 provided
  • com.fasterxml.jackson.datatype:jackson-datatype-jsr310 2.18.3
  • com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider 2.18.3
  • com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-xml-provider 2.18.3
  • eu.clarin.sru.fcs:fcs-simple-endpoint 1.11.2
  • org.apache.logging.log4j:log4j-api 2.24.3
  • org.apache.logging.log4j:log4j-core 2.24.3
  • org.apache.logging.log4j:log4j-jul 2.24.3
  • org.apache.logging.log4j:log4j-slf4j-impl 2.24.3
  • org.apache.solr:solr-solrj 9.8.1
  • org.glassfish.jersey.containers:jersey-container-servlet