Spaces:
Runtime error
Runtime error
## UniCOIL with ElasticSearch | |
1. Setup ElasticSearch with Docker by following document [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html). | |
```bash | |
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.2.3 | |
docker network create elastic | |
docker run --name es01 --net elastic -d -p 9200:9200 -p 9300:9300 \ | |
-e "discovery.type=single-node" \ | |
-e "xpack.security.enabled=false" \ | |
-it docker.elastic.co/elasticsearch/elasticsearch:8.2.2 | |
``` | |
2. (Optional) Setup Kibana by following document [here](https://www.elastic.co/guide/en/kibana/current/docker.html). | |
```bash | |
docker pull docker.elastic.co/kibana/kibana:8.2.2 | |
docker run -d --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.2.2 | |
``` | |
3. Create ES index | |
```bash | |
python create_es.py | |
``` | |
This will create index based on two search field: | |
- `document`: contains raw text for BM25 search | |
- `vector`: contains pseudo text from uniCOIL for impact search | |
4. Create document entry for BM25 index | |
```bash | |
python index_bm25.py | |
``` | |
5. Add uniCOIL encoded document for impact search | |
```bash | |
python index_unicoil_update.py | |
``` | |
6. BM25 search | |
```bash | |
python search_bm25.py | |
``` | |
7. uniCOIL search | |
```bash | |
python search_unicoil.py | |
``` | |
8. Hybrid Search | |
```bash | |
python search_unicoil.py | |
``` |