Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
opensearch [2026/04/12 11:53] jango |
opensearch [2026/04/12 15:27] (aktuell) jango [v2] |
||
|---|---|---|---|
| Zeile 142: | Zeile 142: | ||
| ====Production==== | ====Production==== | ||
| + | ===v1=== | ||
| Run as root | Run as root | ||
| <code bash> | <code bash> | ||
| Zeile 157: | Zeile 158: | ||
| NUTCH_VERSION=" | NUTCH_VERSION=" | ||
| OPENSEARCH_VERSION=" | OPENSEARCH_VERSION=" | ||
| - | JAVA_PKG="openjdk-11-jre-headless" | + | REAL_USER="${SUDO_USER: |
| - | OS_UID="1000" | + | REAL_GROUP="$(id -gn "$REAL_USER")" |
| - | OS_GID="1000" | + | |
| - | echo "[1/13] Systempakete installieren" | + | echo "[1/12] Installiere Pakete" |
| export DEBIAN_FRONTEND=noninteractive | export DEBIAN_FRONTEND=noninteractive | ||
| apt-get update | apt-get update | ||
| Zeile 177: | Zeile 177: | ||
| docker.io \ | docker.io \ | ||
| docker-compose \ | docker-compose \ | ||
| - | | + | |
| systemctl enable docker | systemctl enable docker | ||
| systemctl restart docker | systemctl restart docker | ||
| - | echo "[2/13] Host-Kernel-Setting für OpenSearch setzen" | + | echo "[2/12] Setze vm.max_map_count" |
| if grep -q ' | if grep -q ' | ||
| sed -i ' | sed -i ' | ||
| Zeile 190: | Zeile 190: | ||
| sysctl -w vm.max_map_count=262144 >/ | sysctl -w vm.max_map_count=262144 >/ | ||
| - | echo "[3/13] Verzeichnisstruktur anlegen" | + | echo "[3/12] Setze JAVA_HOME" |
| + | JAVA_HOME_PATH=" | ||
| + | cat > / | ||
| + | export JAVA_HOME=${JAVA_HOME_PATH} | ||
| + | EOF | ||
| + | chmod 0644 / | ||
| + | export JAVA_HOME=" | ||
| + | |||
| + | echo " | ||
| mkdir -p \ | mkdir -p \ | ||
| - | " | + | " |
| " | " | ||
| - | echo "[4/13] Rechte für OpenSearch-Datenverzeichnis korrekt setzen" | + | echo "[5/12] Schreibe |
| - | chown -R " | + | |
| - | chmod 775 " | + | |
| - | + | ||
| - | echo " | + | |
| cat > " | cat > " | ||
| version: " | version: " | ||
| Zeile 230: | Zeile 234: | ||
| EOF | EOF | ||
| - | echo "[6/13] OpenSearch | + | echo "[6/12] Setze Rechte" |
| + | chown -R " | ||
| + | chown -R 1000:1000 " | ||
| + | chmod 775 " | ||
| + | chmod 775 " | ||
| + | |||
| + | echo " | ||
| cd " | cd " | ||
| docker-compose up -d | docker-compose up -d | ||
| - | echo "Warte auf OpenSearch ..." | ||
| ok=0 | ok=0 | ||
| for i in $(seq 1 120); do | for i in $(seq 1 120); do | ||
| Zeile 245: | Zeile 254: | ||
| if [[ " | if [[ " | ||
| - | | + | echo " |
| - | | + | |
| docker-compose logs --tail=200 opensearch || true | docker-compose logs --tail=200 opensearch || true | ||
| exit 1 | exit 1 | ||
| fi | fi | ||
| - | echo "[7/13] Basis-Index anlegen" | + | echo "[8/12] Lege Index at_web neu an" |
| + | curl -fsS -X DELETE " | ||
| curl -fsS -X PUT " | curl -fsS -X PUT " | ||
| -H ' | -H ' | ||
| Zeile 261: | Zeile 270: | ||
| " | " | ||
| " | " | ||
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | |
| - | " | + | |
| } | } | ||
| } | } | ||
| - | }' >/ | + | }' >/ |
| - | echo "[8/13] Apache Nutch herunterladen" | + | echo "[9/12] Lade Apache Nutch" |
| cd " | cd " | ||
| if [[ ! -f " | if [[ ! -f " | ||
| Zeile 284: | Zeile 291: | ||
| tar -xzf " | tar -xzf " | ||
| ln -sfn " | ln -sfn " | ||
| - | chmod +x " | ||
| - | echo " | + | mkdir -p "${APP_ROOT}/nutch/logs" |
| - | JAVA_HOME_PATH=" | + | |
| - | cat > / | + | |
| - | export JAVA_HOME=${JAVA_HOME_PATH} | + | |
| - | EOF | + | |
| - | chmod 0644 /etc/profile.d/ | + | |
| - | export JAVA_HOME="${JAVA_HOME_PATH}" | + | |
| - | echo "[10/13] Nutch konfigurieren" | + | echo "[10/12] Konfiguriere |
| cat > " | cat > " | ||
| <?xml version=" | <?xml version=" | ||
| < | < | ||
| - | |||
| < | < | ||
| < | < | ||
| Zeile 311: | Zeile 310: | ||
| < | < | ||
| < | < | ||
| - | < | + | < |
| </ | </ | ||
| Zeile 363: | Zeile 362: | ||
| < | < | ||
| </ | </ | ||
| + | </ | ||
| + | EOF | ||
| + | cat > " | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | EOF | ||
| + | |||
| + | cat > " | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| </ | </ | ||
| EOF | EOF | ||
| Zeile 375: | Zeile 405: | ||
| cat > " | cat > " | ||
| + | <?xml version=" | ||
| <?xml version=" | <?xml version=" | ||
| <writers xmlns=" | <writers xmlns=" | ||
| Zeile 380: | Zeile 411: | ||
| | | ||
| - | <writer id="indexer_opensearch_1x_1" | + | <writer id="opensearch" |
| class=" | class=" | ||
| < | < | ||
| - | <param name=" | + | <param name=" |
| <param name=" | <param name=" | ||
| <param name=" | <param name=" | ||
| <param name=" | <param name=" | ||
| - | <param name=" | + | |
| - | <param name=" | + | <param name=" |
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | | ||
| + | <param name=" | ||
| <param name=" | <param name=" | ||
| - | <param name=" | + | <param name=" |
| <param name=" | <param name=" | ||
| </ | </ | ||
| Zeile 404: | Zeile 443: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| </ | </ | ||
| EOF | EOF | ||
| - | echo " | ||
| cat > " | cat > " | ||
| https:// | https:// | ||
| Zeile 421: | Zeile 460: | ||
| EOF | EOF | ||
| - | echo "[12/13] Helper-Skripte schreiben" | + | echo "[11/12] Schreibe Wrapper" |
| - | cat > " | + | cat > /usr/local/bin/at-search-crawl <<' |
| # | # | ||
| set -Eeuo pipefail | set -Eeuo pipefail | ||
| - | + | export JAVA_HOME=" | |
| - | export JAVA_HOME=" | + | |
| export NUTCH_HOME="/ | export NUTCH_HOME="/ | ||
| export NUTCH_CONF_DIR=" | export NUTCH_CONF_DIR=" | ||
| - | + | export HADOOP_CONF_DIR="${NUTCH_HOME}/conf" | |
| - | ROUNDS="${1:-3}" | + | export HADOOP_OPTS="-Djava.io.tmpdir=/ |
| - | CRAWL_DIR="/ | + | mkdir -p / |
| - | SEED_DIR=" | + | exec " |
| - | + | ||
| - | mkdir -p " | + | |
| - | + | ||
| - | cd " | + | |
| - | exec " | + | |
| EOF | EOF | ||
| - | chmod +x " | ||
| - | cat > " | + | cat > /usr/local/bin/at-search-reindex-last |
| # | # | ||
| set -Eeuo pipefail | set -Eeuo pipefail | ||
| + | export JAVA_HOME=" | ||
| + | export NUTCH_HOME="/ | ||
| + | export NUTCH_CONF_DIR=" | ||
| + | export HADOOP_CONF_DIR=" | ||
| + | export HADOOP_OPTS=" | ||
| + | SEG=" | ||
| + | exec " | ||
| + | EOF | ||
| + | cat > / | ||
| + | # | ||
| + | set -Eeuo pipefail | ||
| if [[ $# -lt 1 ]]; then | if [[ $# -lt 1 ]]; then | ||
| - | echo "Nutzung: | + | echo 'Nutzung: |
| exit 1 | exit 1 | ||
| fi | fi | ||
| - | |||
| QUERY=" | QUERY=" | ||
| BODY=" | BODY=" | ||
| Zeile 461: | Zeile 503: | ||
| _source: [" | _source: [" | ||
| }' | }' | ||
| - | |||
| curl -fsS " | curl -fsS " | ||
| -H ' | -H ' | ||
| -d " | -d " | ||
| EOF | EOF | ||
| - | chmod +x " | ||
| - | cat > / | + | cat > / |
| # | # | ||
| - | exec /opt/at-search/bin/run-crawl.sh "$@" | + | set -Eeuo pipefail |
| + | echo "=== OpenSearch ===" | ||
| + | curl -s http://127.0.0.1: | ||
| + | echo | ||
| + | echo "=== Count ===" | ||
| + | curl -s http://127.0.0.1: | ||
| + | echo | ||
| + | echo "=== Segments ===" | ||
| + | ls -1 / | ||
| EOF | EOF | ||
| - | chmod +x / | ||
| - | cat > / | + | chmod +x / |
| - | #!/usr/bin/env bash | + | chmod +x /usr/local/ |
| - | exec /opt/at-search/ | + | |
| - | EOF | + | |
| chmod +x / | chmod +x / | ||
| + | chmod +x / | ||
| - | echo "[13/13] Fertig" | + | echo "[12/12] Setze finale Rechte" |
| + | chown -R " | ||
| + | chown -R 1000:1000 " | ||
| + | chmod +x " | ||
| - | cat <<'EOF' | + | cat <<EOF |
| - | ==== INSTALLATION | + | ==== FERTIG ==== |
| - | Jetzt genau das ausführen: | + | Jetzt: |
| + | at-search-status | ||
| + | at-search-crawl | ||
| + | at-search-status | ||
| + | at-search-query " | ||
| - | 1) | + | EOF |
| - | curl http:// | + | </code> |
| - | 2) | + | <code bash> |
| - | at-search-crawl 2 | + | curl http:// |
| - | + | ||
| - | 3) | + | |
| curl http:// | curl http:// | ||
| - | 4) | + | at-search-status |
| + | at-search-crawl 2 | ||
| + | at-search-status | ||
| at-search-query " | at-search-query " | ||
| + | at-search-reindex-last | ||
| + | </ | ||
| - | Wichtige Pfade: | + | <code bash> |
| - | / | + | cp / |
| - | | + | cat > / |
| - | / | + | https://www.univie.ac.at/ |
| - | /opt/at-search/opensearch/docker-compose.yml | + | https://studieren.univie.ac.at/ |
| - | + | https:// | |
| - | Logs: | + | https://www.tuwien.at/studium/ |
| - | | + | |
| EOF | EOF | ||
| + | at-search-crawl 3 | ||
| + | mv / | ||
| </ | </ | ||
| + | |||
| + | ===v2=== | ||
| <code bash> | <code bash> | ||
| - | curl http:// | + | # |
| - | sudo at-search-crawl 2 | + | set -Eeuo pipefail |
| - | curl http:// | + | |
| - | sudo at-search-query " | + | trap 'echo; echo " |
| + | |||
| + | if [[ " | ||
| + | echo "Bitte mit sudo/root ausführen." | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | APP_ROOT="/ | ||
| + | NUTCH_VERSION=" | ||
| + | OPENSEARCH_VERSION=" | ||
| + | REAL_USER=" | ||
| + | REAL_GROUP=" | ||
| + | |||
| + | echo " | ||
| + | export DEBIAN_FRONTEND=noninteractive | ||
| + | apt-get update | ||
| + | apt-get install -y \ | ||
| + | | ||
| + | wget \ | ||
| + | jq \ | ||
| + | tar \ | ||
| + | gzip \ | ||
| + | unzip \ | ||
| + | ca-certificates \ | ||
| + | gnupg \ | ||
| + | lsb-release \ | ||
| + | software-properties-common \ | ||
| + | docker.io \ | ||
| + | docker-compose \ | ||
| + | openjdk-11-jdk-headless \ | ||
| + | python3 \ | ||
| + | python3-venv \ | ||
| + | python3-pip | ||
| + | |||
| + | systemctl enable docker | ||
| + | systemctl restart docker | ||
| + | |||
| + | echo " | ||
| + | if grep -q ' | ||
| + | sed -i ' | ||
| + | else | ||
| + | echo ' | ||
| + | fi | ||
| + | sysctl -w vm.max_map_count=262144 >/ | ||
| + | |||
| + | echo " | ||
| + | JAVA_HOME_PATH=" | ||
| + | cat > / | ||
| + | export JAVA_HOME=${JAVA_HOME_PATH} | ||
| + | EOF | ||
| + | chmod 0644 / | ||
| + | export JAVA_HOME=" | ||
| + | |||
| + | echo " | ||
| + | mkdir -p \ | ||
| + | " | ||
| + | " | ||
| + | |||
| + | echo " | ||
| + | python3 -m venv " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | echo " | ||
| + | cat > " | ||
| + | version: " | ||
| + | |||
| + | services: | ||
| + | opensearch: | ||
| + | image: opensearchproject/ | ||
| + | container_name: | ||
| + | restart: unless-stopped | ||
| + | environment: | ||
| + | - cluster.name=at-search-cluster | ||
| + | - node.name=at-opensearch | ||
| + | - discovery.type=single-node | ||
| + | - bootstrap.memory_lock=true | ||
| + | - OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g | ||
| + | - DISABLE_INSTALL_DEMO_CONFIG=true | ||
| + | - DISABLE_SECURITY_PLUGIN=true | ||
| + | ulimits: | ||
| + | memlock: | ||
| + | soft: -1 | ||
| + | hard: -1 | ||
| + | nofile: | ||
| + | soft: 65536 | ||
| + | hard: 65536 | ||
| + | volumes: | ||
| + | - ${APP_ROOT}/ | ||
| + | ports: | ||
| + | - " | ||
| + | - " | ||
| + | EOF | ||
| + | |||
| + | echo " | ||
| + | chown -R " | ||
| + | chown -R 1000:1000 " | ||
| + | chmod 775 " | ||
| + | chmod 775 " | ||
| + | |||
| + | echo " | ||
| + | cd " | ||
| + | docker-compose up -d | ||
| + | |||
| + | ok=0 | ||
| + | for i in $(seq 1 120); do | ||
| + | if curl -fsS "http:// | ||
| + | | ||
| + | break | ||
| + | fi | ||
| + | sleep 2 | ||
| + | done | ||
| + | |||
| + | if [[ " | ||
| + | echo " | ||
| + | docker-compose logs --tail=200 opensearch || true | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | curl -fsS -X DELETE " | ||
| + | curl -fsS -X PUT " | ||
| + | -H ' | ||
| + | -d '{ | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | } | ||
| + | }' >/ | ||
| + | |||
| + | echo " | ||
| + | cd " | ||
| + | if [[ ! -f " | ||
| + | wget -O " | ||
| + | " | ||
| + | fi | ||
| + | |||
| + | rm -rf " | ||
| + | tar -xzf " | ||
| + | ln -sfn " | ||
| + | |||
| + | mkdir -p " | ||
| + | |||
| + | echo " | ||
| + | cat > " | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | EOF | ||
| + | |||
| + | cat > " | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | EOF | ||
| + | |||
| + | cat > " | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | EOF | ||
| + | |||
| + | cat > " | ||
| + | +^https?:// | ||
| + | -^https?:// | ||
| + | -^https?:// | ||
| + | -^https?:// | ||
| + | -^https?:// | ||
| + | -. | ||
| + | EOF | ||
| + | |||
| + | cat > " | ||
| + | <?xml version=" | ||
| + | <writers xmlns=" | ||
| + | | ||
| + | | ||
| + | |||
| + | <writer id=" | ||
| + | class=" | ||
| + | < | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | <param name=" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | <field source=" | ||
| + | </ | ||
| + | <rename /> | ||
| + | < | ||
| + | <field source=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | EOF | ||
| + | |||
| + | cat > " | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | EOF | ||
| + | |||
| + | echo " | ||
| + | cat > " | ||
| + | # | ||
| + | import json | ||
| + | from urllib.parse import urlparse | ||
| + | import requests | ||
| + | |||
| + | OS_URL = " | ||
| + | INDEX = " | ||
| + | BATCH = 200 | ||
| + | |||
| + | def domain_class(host: | ||
| + | host = (host or "" | ||
| + | if host.endswith(" | ||
| + | return " | ||
| + | if host.endswith(" | ||
| + | return " | ||
| + | if " | ||
| + | return " | ||
| + | if " | ||
| + | return " | ||
| + | return " | ||
| + | |||
| + | def host_rank(host: | ||
| + | host = (host or "" | ||
| + | if host.endswith(" | ||
| + | return 3.0 | ||
| + | if host.endswith(" | ||
| + | return 2.5 | ||
| + | if host == " | ||
| + | return 2.0 | ||
| + | if host == " | ||
| + | return 1.8 | ||
| + | if host == " | ||
| + | return 1.4 | ||
| + | return 1.0 | ||
| + | |||
| + | def compute_fields(src: | ||
| + | url = src.get(" | ||
| + | content = src.get(" | ||
| + | parsed = urlparse(url) | ||
| + | path = parsed.path or "/" | ||
| + | stripped = path.strip("/" | ||
| + | depth = 0 if stripped == "" | ||
| + | is_root = stripped == "" | ||
| + | return { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | |||
| + | def main(): | ||
| + | session = requests.Session() | ||
| + | search_after = None | ||
| + | total = 0 | ||
| + | |||
| + | while True: | ||
| + | body = { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | if search_after is not None: | ||
| + | body[" | ||
| + | |||
| + | r = session.post(f" | ||
| + | r.raise_for_status() | ||
| + | data = r.json() | ||
| + | hits = data.get(" | ||
| + | if not hits: | ||
| + | break | ||
| + | |||
| + | lines = [] | ||
| + | for hit in hits: | ||
| + | doc_id = hit[" | ||
| + | src = hit.get(" | ||
| + | fields = compute_fields(src) | ||
| + | meta = {" | ||
| + | doc = {" | ||
| + | lines.append(json.dumps(meta)) | ||
| + | lines.append(json.dumps(doc)) | ||
| + | total += 1 | ||
| + | |||
| + | payload = " | ||
| + | br = session.post( | ||
| + | f" | ||
| + | data=payload, | ||
| + | headers={" | ||
| + | timeout=60, | ||
| + | ) | ||
| + | br.raise_for_status() | ||
| + | |||
| + | search_after = hits[-1][" | ||
| + | |||
| + | print(f" | ||
| + | |||
| + | if __name__ == " | ||
| + | main() | ||
| + | EOF | ||
| + | chmod +x " | ||
| + | |||
| + | echo " | ||
| + | cat > / | ||
| + | # | ||
| + | set -Eeuo pipefail | ||
| + | export JAVA_HOME=" | ||
| + | export NUTCH_HOME="/ | ||
| + | export NUTCH_CONF_DIR=" | ||
| + | export HADOOP_CONF_DIR=" | ||
| + | export HADOOP_OPTS=" | ||
| + | |||
| + | ROUNDS=" | ||
| + | |||
| + | mkdir -p / | ||
| + | |||
| + | " | ||
| + | / | ||
| + | EOF | ||
| + | |||
| + | cat > / | ||
| + | # | ||
| + | set -Eeuo pipefail | ||
| + | export JAVA_HOME=" | ||
| + | export NUTCH_HOME="/ | ||
| + | export NUTCH_CONF_DIR=" | ||
| + | export HADOOP_CONF_DIR=" | ||
| + | export HADOOP_OPTS=" | ||
| + | |||
| + | SEG=" | ||
| + | " | ||
| + | / | ||
| + | EOF | ||
| + | |||
| + | cat > / | ||
| + | # | ||
| + | set -Eeuo pipefail | ||
| + | exec / | ||
| + | EOF | ||
| + | |||
| + | cat > / | ||
| + | # | ||
| + | set -Eeuo pipefail | ||
| + | curl -s -X DELETE http:// | ||
| + | curl -s -X PUT http:// | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | } | ||
| + | }' | jq . | ||
| + | EOF | ||
| + | |||
| + | cat > / | ||
| + | # | ||
| + | set -Eeuo pipefail | ||
| + | if [[ $# -lt 1 ]]; then | ||
| + | echo ' | ||
| + | exit 1 | ||
| + | fi | ||
| + | QUERY=" | ||
| + | BODY=" | ||
| + | size: 10, | ||
| + | query: { | ||
| + | function_score: | ||
| + | query: { | ||
| + | bool: { | ||
| + | must: [ | ||
| + | { | ||
| + | multi_match: | ||
| + | query: $q, | ||
| + | fields: [" | ||
| + | type: " | ||
| + | } | ||
| + | } | ||
| + | ], | ||
| + | must_not: [ | ||
| + | { term: { is_root: true } }, | ||
| + | { regexp: { url: " | ||
| + | { regexp: { url: " | ||
| + | ], | ||
| + | should: [ | ||
| + | { match_phrase: | ||
| + | ] | ||
| + | } | ||
| + | }, | ||
| + | functions: [ | ||
| + | { filter: { term: { domain_class: | ||
| + | { filter: { term: { domain_class: | ||
| + | { filter: { term: { domain_class: | ||
| + | { field_value_factor: | ||
| + | { field_value_factor: | ||
| + | { field_value_factor: | ||
| + | ], | ||
| + | score_mode: " | ||
| + | boost_mode: " | ||
| + | } | ||
| + | }, | ||
| + | _source: [" | ||
| + | }' | ||
| + | curl -fsS " | ||
| + | -H ' | ||
| + | -d " | ||
| + | EOF | ||
| + | |||
| + | cat > / | ||
| + | # | ||
| + | set -Eeuo pipefail | ||
| + | echo "=== OpenSearch ===" | ||
| + | curl -s http:// | ||
| + | echo | ||
| + | echo "=== Count ===" | ||
| + | curl -s http:// | ||
| + | echo | ||
| + | echo "=== Segments ===" | ||
| + | ls -1 / | ||
| + | EOF | ||
| + | |||
| + | chmod +x / | ||
| + | chmod +x / | ||
| + | chmod +x / | ||
| + | chmod +x / | ||
| + | chmod +x / | ||
| + | chmod +x / | ||
| + | |||
| + | echo " | ||
| + | chown -R " | ||
| + | chown -R 1000:1000 " | ||
| + | chmod +x " | ||
| + | |||
| + | cat << | ||
| + | |||
| + | ==== FERTIG ==== | ||
| + | |||
| + | Jetzt: | ||
| + | at-search-status | ||
| + | at-search-crawl 5 | ||
| + | at-search-status | ||
| + | | ||
| + | |||
| + | EOF | ||
| </ | </ | ||