Ich möchte den vollständigen Text mit elasticsearch + python durchsuchen

  1. download & install
bin/elasticsearch

Ein Muss für die elastische Suche

bin/plugin install mobz/elasticsearch-head

Plugin, das die Morphologie analysiert

bin/plugin install elasticsearch/elasticsearch-analysis-kuromoji/2.5.0
  1. setting kuromoji

Wenn es problematisch ist (elastische Suche neu starten)

config/elasticsearch.yml


index.analysis.analyzer.default.type: custom
index.analysis.analyzer.default.tokenizer: kuromoji_tokenizer

Wenn Sie nach Index festlegen

curl -XPUT http://localhost:9200/index1/ -d '
{
  "index": {
    "analysis": {
      "tokenizer": {
        "kuromoji": {
          "type": "kuromoji_tokenizer"
        }
      },
      "analyzer": {
        "analyzer": {
          "type": "custom",
          "tokenizer":"kuromoji"
        }
      }
    }
  }
}'
  1. check

Analysator prüfen

curl -XPOST http://localhost:9200/index1/_analyze?analyzer=analyzer&petty -d 'dies ist ein Stift'

{
  "tokens": [
    {
      "token": "Dies",
      "start_offset": 0,
      "end_offset": 2,
      "type": "word",
      "position": 1
    },
    {
      "token": "Ist",
      "start_offset": 2,
      "end_offset": 3,
      "type": "word",
      "position": 2
    },
    {
      "token": "Stift",
      "start_offset": 3,
      "end_offset": 5,
      "type": "word",
      "position": 3
    },
    {
      "token": "ist",
      "start_offset": 5,
      "end_offset": 7,
      "type": "word",
      "position": 4
    }
  ]
}

Umm. Es sieht so aus, als ob es richtig funktioniert.

Musterregistrierung 1

curl -XPUT http://localhost:9200/index1/type1/1 -d '{"text":"Das ist Brot"}'

Musterregistrierung 2

curl -XPUT http://localhost:9200/index1/type1/2 -d '{"text":"dies ist ein Stift"}'

Suche!

curl -XGET http://localhost:9200/index1/type1/_search -d '{"query": {"match": {"text": "Stift"}}}'
{
  "took": 5,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 0.15342641,
    "hits": [
      {
        "_index": "index1",
        "_type": "type1",
        "_id": "2",
        "_score": 0.15342641,
        "_source": {
          "text": "dies ist ein Stift"
        }
      }
    ]
  }
}

  1. python client
$ pip install elasticsearch

Recommended Posts

Ich möchte den vollständigen Text mit elasticsearch + python durchsuchen
Ich möchte ein Spiel mit Python machen
Ich möchte mit Python in eine Datei schreiben
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte einen Quantencomputer mit Python betreiben
Ich möchte ○○ mit Pandas machen
Ich möchte mit Python debuggen
Ich möchte eine Python-Umgebung erstellen
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Ich möchte Dunnetts Test in Python machen
Ich möchte MATLAB feval mit Python verwenden
Ich möchte mit Python ein Fenster erstellen
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte APG4b mit Python lösen (Kapitel 2)
Ich möchte es mit Python Lambda Django machen, aber ich werde aufhören
Ich möchte Affenpatches nur teilweise sicher mit Python machen
Ich möchte Timeout einfach in Python implementieren
Ich möchte einen Python-Generator viele Male iterieren
Ich möchte nur verschiedene Zeilen der Textdatei mit diff anzeigen
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte die Optimierung mit Python und CPlex behandeln
Ich möchte mit verstärkendem Lernen einen Berg besteigen
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich habe eine Burgsuch-API mit Elasticsearch + Sudachi + Go + Echo erstellt
Ich möchte eine Datei mit Python zufällig testen
Links, um mit Sublime Text zu tun, was Sie wollen
Ich möchte mit Python-Datenklasse nach hinten erben
Vollbit-Suche mit Python
Ich möchte eine Zeichenkette mit Hiragana teilen
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich möchte Lambda mit Python auf Mac AWS!
Ich möchte manuell eine Legende mit matplotlib erstellen
Ich habe einen Python-Text gemacht
Ich habe eine Python-Bibliothek erstellt, die einen rollierenden Rang hat
Ich möchte am Ende etwas mit Python machen
Ich möchte eine lokale Variable mit Lambda binden
[Python] Ich möchte mit Flask ein statisches Verzeichnis hinzufügen. [Ich möchte etwas anderes als statisch verwenden.]
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
Ich möchte Leuten sagen, die mit Python direnv aus einem höheren Verzeichnis importieren möchten
[Mac] Ich möchte einen einfachen HTTP-Server erstellen, auf dem CGI mit Python ausgeführt wird
Ich möchte Daten mit Python analysieren können (Teil 3)
Ich möchte eine andere Version von Python mit pyvenv angeben
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
Ich möchte so etwas wie Uniq in Python sortieren
Ich habe schnell ein Programm geschrieben, um DI mit Python zu lernen
Ich möchte einen Blog-Editor mit dem Administrator von Django erstellen
Ich möchte eine Jupyter-Umgebung mit einem Befehl starten
[Python] Ich möchte einen gemeinsamen Satz zwischen numpy erhalten
Ich möchte viele Prozesse von Python aus starten
[NetworkX] Ich möchte nach Knoten mit bestimmten Attributen suchen
Ich möchte ein Klickmakro mit pyautogui (Wunsch) erstellen.
Ich möchte Daten mit Python analysieren können (Teil 4)