diff --git a/wis2-gdc-api/Dockerfile b/wis2-gdc-api/Dockerfile index b9d1b06..849874c 100644 --- a/wis2-gdc-api/Dockerfile +++ b/wis2-gdc-api/Dockerfile @@ -27,15 +27,17 @@ ENV PYGEOAPI_CONFIG=/pygeoapi/local.config.yml ENV PYGEOAPI_OPENAPI=/pygeoapi/local.openapi.yml RUN apt-get update && \ - apt-get install -y curl + apt-get install -y curl patch COPY ./app.py /pygeoapi/pygeoapi/app.py -COPY ./docker/wis2-gdc-api.yml /pygeoapi/local.config.yml +COPY ./pygeoapi_provider_elasticsearch_.patch /pygeoapi/pygeoapi_provider_elasticsearch_.patch COPY ./requirements.txt /app/docker/wis2-gdc-api/requirements.txt COPY ./docker/entrypoint.sh /app/docker/wis2-gdc-api/entrypoint.sh +COPY ./docker/wis2-gdc-api.yml /pygeoapi/local.config.yml RUN pip3 install -r /app/docker/wis2-gdc-api/requirements.txt && \ pywcmp bundle sync && \ - chmod +x /app/docker/wis2-gdc-api/entrypoint.sh + chmod +x /app/docker/wis2-gdc-api/entrypoint.sh && \ + patch /pygeoapi/pygeoapi/provider/elasticsearch_.py /pygeoapi/pygeoapi_provider_elasticsearch_.patch ENTRYPOINT [ "/app/docker/wis2-gdc-api/entrypoint.sh" ] diff --git a/wis2-gdc-api/pygeoapi_provider_elasticsearch_.patch b/wis2-gdc-api/pygeoapi_provider_elasticsearch_.patch new file mode 100644 index 0000000..aef7deb --- /dev/null +++ b/wis2-gdc-api/pygeoapi_provider_elasticsearch_.patch @@ -0,0 +1,17 @@ +244c244,247 +< prop_name = self.mask_prop(prop[0]) +--- +> if '|' in prop[1]: +> prop_name = self.mask_prop(prop[0]) +> else: +> prop_name = f'{self.mask_prop(prop[0])}.raw' +252c255,256 +< query['query']['bool']['filter'].append(pf) +--- +> if '|' not in prop[1]: +> pf['match'][prop_name]['minimum_should_match'] = '100%' +254,255c258 +< if '|' not in prop[1]: +< pf['match'][prop_name]['minimum_should_match'] = '100%' +--- +> query['query']['bool']['filter'].append(pf)