<commit_before># The Mathmos

The Mathmos is a Web Search Service compliant with the [IIIF Content Search API](http://iiif.io/api/search/1.0/). We can index Annotations provided by the Elucidate Server using Pygar. Elucidate can put messages into an AWS SQS Queue whenever an Annotation is created, updated or deleted.  We can index Image Text provided by the Starsky Server using Barbarella.  Starsky can put messages into an AWS SQS Queue which contain the text associated with an image. 


## Getting Started

### Prerequisites
```
Java 8+
```
Apache Tomcat 8+
```
Elasticsearch 2.4.1
``` 
The Mathmos Server and its dependencies are written in pure Java, and is designed to work with Elasticsearch.

### Building
The Mathmos Server has a dependency that must be built first:
* [the-mathmos-parent](the-mathmos-parent/)
	  * Parent Maven project that defines dependency library version numbers and common dependencies 
Each dependency and the Mathmos Server itself can be built using Maven:
```
mvn clean package install -U
  
```


### Configuration
The location of the coordinate service and the cluster nodes need to be provided to the JVM as a parameter:

-Dtext.server.coordinate.url="http://wherever.the.coordinate.server.exists" 
-Dcluster.nodes="localhost:9300"

### API
Please read [API.md](API.md) for details on how Mathmmos works.

## Built With

* [Spring Framework](https://projects.spring.io/spring-framework/)
* [Jackson](http://wiki.fasterxml.com/JacksonHome) 
* [JSONLD-JAVA](https://github.com/jsonld-java/jsonld-java)

## Contributing
<commit_msg>IDA_359 upgrade to Es 5.4.0<commit_after># The Mathmos

The Mathmos is a Web Search Service compliant with the [IIIF Content Search API](http://iiif.io/api/search/1.0/). We can index Annotations provided by the Elucidate Server using Pygar. Elucidate can put messages into an AWS SQS Queue whenever an Annotation is created, updated or deleted.  We can index Image Text provided by the Starsky Server using Barbarella.  Starsky can put messages into an AWS SQS Queue which contain the text associated with an image. 


## Getting Started

### Prerequisites
```
Java 8+
```
```
Apache Tomcat 8+
```

```
Elasticsearch 5.4.0
```
```
Springdata for Elasticsearch 3.0.0.M4
```

The Mathmos Server and its dependencies are written in pure Java, and is designed to work with Elasticsearch.

### Building
The Mathmos Server has a dependency that must be built first:
* [the-mathmos-parent](the-mathmos-parent/)
    * Parent Maven project that defines dependency library version numbers and common dependencies 
      Each dependency and the Mathmos Server itself can be built using Maven:
```
mvn clean package install -U
  
```


### Configuration
The location of the coordinate service and the cluster nodes need to be provided to the JVM as a parameter:

-Dtext.server.coordinate.url="http://wherever.the.coordinate.server.exists" 
-Dcluster.nodes="localhost:9300"

### API
Please read [API.md](API.md) for details on how Mathmmos works.

## Built With

* [Spring Framework](https://projects.spring.io/spring-framework/)
* [Jackson](http://wiki.fasterxml.com/JacksonHome) 
* [JSONLD-JAVA](https://github.com/jsonld-java/jsonld-java)

## Contributing

{'fraction_non_alphanumeric': 0.09546019900497513, 'fraction_numerical': 0.009950248756218905, 'mean_word_length': 4.415824915824916, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5138288', 'n_tokens_mistral': 969, 'n_tokens_neox': 910, 'n_words': 376}