NOTE: Apart from
(and even then it's questionable, I'm Scottish). These are machine translated in languages I don't read. If they're terrible please contact me.
You can see how this translation was done in this article.
Saturday, 24 August 2024
//Less than a minute
Στα προηγούμενα μέρη αυτής της σειράς εισάγαμε την έννοια της πλήρους αναζήτησης κειμένου και πώς μπορεί να χρησιμοποιηθεί για την αναζήτηση κειμένου μέσα σε μια βάση δεδομένων. Σε αυτό το μέρος θα εισαγάγει OpenSearch, μια ισχυρή μηχανή αναζήτησης που μπορεί να χρησιμοποιηθεί για την αναζήτηση κειμένου.
Σε αυτό το μέρος θα καλύψουμε το πώς να κάνουμε το OpenSearch να λειτουργεί.Στο επόμενο μέρος θα καλύψω το πώς να βάλω τα δεδομένα στο opensearch και να τα εξετάσω.
Προηγούμενα μέρη σε αυτή τη σειρά:
Επόμενα μέρη σε αυτή τη σειρά:
OpenSearch είναι μια μηχανή αναζήτησης που έχει σχεδιαστεί για να είναι γρήγορη, κλιμακωτή και εύκολη στη χρήση. Είναι ένα offshoot της Elasticsearch, μια δημοφιλής μηχανή αναζήτησης που χρησιμοποιείται από πολλές εταιρείες για να ενεργοποιήσει τη λειτουργία αναζήτησης τους. Το OpenSearch έχει σχεδιαστεί για να είναι εύκολο στη χρήση και μπορεί να χρησιμοποιηθεί για την αναζήτηση κειμένου με διάφορους τρόπους.
Ωστόσο, δεν είναι ένα απλό θηρίο να πηγαίνει και να χρησιμοποιεί έτσι θα πρέπει να καλύπτει τα βασικά σε αυτό το άρθρο.
Πρώτον, αυτό δεν είναι μια διαμόρφωση που θα πρέπει να χρησιμοποιήσετε στην παραγωγή, δημιουργεί έναν αριθμό χρηστών demo και κωδικών πρόσβασης που δεν είναι ασφαλείς. Θα πρέπει να διαβάσετε το επίσημη τεκμηρίωση να δημιουργήσει ένα ασφαλές σύμπλεγμα.
Πρώτον, χρησιμοποιούμε την προεπιλεγμένη εγκατάσταση Docker 'ανάπτυξη' Opensearch & Opensearch Dashboards (σκέψου, το UI για τη διαχείριση της συστάδας).
Δείτε εδώ για όλες τις λεπτομέρειες σχετικά με το Docker συνθέτουν τη ρύθμιση.
Θα πρέπει να κάνετε ένα μικρό tweak είτε wsl / ξενιστή σας linux για να το κάνετε να λειτουργήσει ομαλά: Ρυθμίσεις Linux Για ένα περιβάλλον Linux, εκτελέστε τις ακόλουθες εντολές:
Απενεργοποιήστε την επιγραφή μνήμης και την ανταλλαγή επιδόσεων στον υπολογιστή για τη βελτίωση της απόδοσης.
sudo swapoff -a
Αύξηση του αριθμού των χαρτών μνήμης που είναι διαθέσιμοι στο OpenSearch.
# Edit the sysctl config file
sudo vi /etc/sysctl.conf
# Add a line to define the desired value
# or change the value if the key exists,
# and then save your changes.
vm.max_map_count=262144
# Reload the kernel parameters using sysctl
sudo sysctl -p
# Verify that the change was applied by checking the value
cat /proc/sys/vm/max_map_count
Ρυθμίσεις των Windows Για το φόρτο εργασίας των Windows χρησιμοποιώντας WSL μέσω Desktop Docker, εκτελέσετε τις ακόλουθες εντολές σε ένα τερματικό για να ρυθμίσετε το vm.max_map_count:
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
Τότε μπορείς να δημιουργήσεις ένα... .env
αρχείο στον ίδιο κατάλογο με σας docker-compose.yml
αρχείο με το ακόλουθο περιεχόμενο:
bash OPENSEARCH_INITIAL_ADMIN_PASSWORD=<somepasswordwithlowercaseuppercaseandspecialchars>
Τώρα χρησιμοποιείτε το ακόλουθο αρχείο Docker-compose για να ρυθμίσετε τη συστάδα:
version: '3'
services:
opensearch-node1: # This is also the hostname of the container within the Docker network (i.e. https://opensearch-node1/)
image: opensearchproject/opensearch:latest # Specifying the latest available image - modify if you want a specific version
container_name: opensearch-node1
environment:
- cluster.name=opensearch-cluster # Name the cluster
- node.name=opensearch-node1 # Name the node that will run in this container
- discovery.seed_hosts=opensearch-node1,opensearch-node2 # Nodes to look for when discovering the cluster
- cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2 # Nodes eligible to serve as cluster manager
- bootstrap.memory_lock=true # Disable JVM heap memory swapping
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # Set min and max JVM heap sizes to at least 50% of system RAM
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_INITIAL_ADMIN_PASSWORD} # Sets the demo admin user password when using demo configuration, required for OpenSearch 2.12 and later
ulimits:
memlock:
soft: -1 # Set memlock to unlimited (no soft or hard limit)
hard: -1
nofile:
soft: 65536 # Maximum number of open files for the opensearch user - set to at least 65536
hard: 65536
volumes:
- opensearch-data1:/usr/share/opensearch/data # Creates volume called opensearch-data1 and mounts it to the container
ports:
- 9200:9200 # REST API
- 9600:9600 # Performance Analyzer
networks:
- opensearch-net # All of the containers will join the same Docker bridge network
opensearch-node2:
image: opensearchproject/opensearch:latest # This should be the same image used for opensearch-node1 to avoid issues
container_name: opensearch-node2
environment:
- cluster.name=opensearch-cluster
- node.name=opensearch-node2
- discovery.seed_hosts=opensearch-node1,opensearch-node2
- cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_INITIAL_ADMIN_PASSWORD}
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
volumes:
- opensearch-data2:/usr/share/opensearch/data
networks:
- opensearch-net
opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:latest # Make sure the version of opensearch-dashboards matches the version of opensearch installed on other nodes
container_name: opensearch-dashboards
ports:
- 5601:5601 # Map host port 5601 to container port 5601
expose:
- "5601" # Expose port 5601 for web access to OpenSearch Dashboards
environment:
OPENSEARCH_HOSTS: '["https://opensearch-node1:9200","https://opensearch-node2:9200"]' # Define the OpenSearch nodes that OpenSearch Dashboards will query
networks:
- opensearch-net
volumes:
opensearch-data1:
opensearch-data2:
networks:
opensearch-net:
Αυτό το docker-compose αρχείο θα δημιουργήσει ένα σύμπλεγμα 2 κόμβου Opensearch και ένα ενιαίο κόμβο Opensearch Dashboards.
Βασίζεται στο αρχείο.env σας για να ρυθμίσετε το OPENSEARCH_INITIAL_ADMIN_PASSWORD
Μεταβλητή.
Τότε γύρισέ το.
docker compose -f opensearch-docker.yml up -d
Στο μέλλον θα μπούμε σε μεγαλύτερο βάθος σχετικά με το τι κάνει αυτό και πώς να το ρυθμίσετε για την παραγωγή.
Μόλις έχετε το σύμπλεγμα μέχρι και λειτουργία, μπορείτε να έχετε πρόσβαση στο OpenSearch Dashboards UI με την πλοήγηση σε http://localhost:5601
στο πρόγραμμα περιήγησης ιστού σας. Μπορείτε να συνδεθείτε χρησιμοποιώντας το όνομα χρήστη admin
και τον κωδικό πρόσβασης που βάλατε στο .env
Φάκελος.
Αυτή είναι η κύρια διεπαφή admin σας (μπορείτε να το κατοικήσετε με κάποια στοιχεία δείγμα και να παίξετε γύρω με αυτό).
Στο επόμενο μέρος θα καλύψω το πώς να βάλω δεδομένα σε ανοιχτή αναζήτηση και να τα εξετάσω.