<commit_before>ebola-call-center-search
========================

search implementation for the Ebola Call Center Application


The project uses the following projects:

- We use the [CouchDB-Lucene plugin](https://github.com/rnewson/couchdb-lucene) to enable full-text searching of CouchDB documents using Lucene.
- [couchapp]( https://github.com/couchapp/couchapp) for managing the views



### Deploy

Build is country dependant

```shell
grunt build:[gin|sl|lr]
```

upload the search document to the couchDB instance


###  Todo

- remove the generated data.js file after build
- use Francesco end to end test
- integrate couchdb view uploading with grunt
- remove view from Frontend document in db

add "undefined" as value to search if there is no value
<commit_msg>updated project information<commit_after>ebola-call-center-search
========================

Search implementation for the Ebola Call Center Application.
This project is used by call centers in Sierra Leona, Liberia and Guinea.
Since those countries have different location data codes, we have build and test tasks
for each one of the countries to handle this data difference.

The source of this location data is: https://github.com/eHealthAfrica/locations

The project uses the following tools:

- We use the [CouchDB-Lucene plugin](https://github.com/rnewson/couchdb-lucene) to enable full-text searching of CouchDB documents using Lucene.
- [couchapp]( https://github.com/couchapp/couchapp) for managing the views


use the following command to see the available tasks:

```shell
grunt test:[gin|sl|lr]
```

### Test

```shell
grunt test:[gin|sl|lr]
```

### Deploy

Build is country dependant

```shell
grunt build:[gin|sl|lr]
```

upload the search document to the couchDB instance
from the root of the project using couchapp:

```shell
cd couch/search && couchapp push "protocol://host:port/db_name"
```

### Bumping version
Using the task

```shell
grunt bump
```

We add the version number tag and commit the following files:
- package.json
- index functions
- couchdb document id

This allows to decouple frontend from backend and being able to
index a new index with breaking changes without breaking the frontend.
Then frontend has to be updated once the new index is ready.

{'fraction_non_alphanumeric': 0.09871624612660469, 'fraction_numerical': 0.0, 'mean_word_length': 4.692695214105793, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 5, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '4896797', 'n_tokens_mistral': 648, 'n_tokens_neox': 614, 'n_words': 277}