Das Miso im Vordergrund tut mir leid, aber bitte installieren Sie Jupyter Notebook unter macOS auf der folgenden Seite, da Sie es später benötigen werden. http://qiita.com/mix_dvd/items/d915752215db67919c06
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob er installiert ist.
$ java -version
Wenn es nicht installiert ist, wird der folgende Dialog angezeigt. Klicken Sie auf die Schaltfläche "Detaillierte Informationen ...".
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Die obige Website wird angezeigt. Laden Sie das JDK herunter und installieren Sie es.
Führen Sie den Befehl nach der Installation erneut aus, um zu bestätigen, dass er installiert ist.
$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
[Offizielle Website] https://www.elastic.co/jp/products/elasticsearch
Führen Sie den folgenden Befehl aus
$ curl -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.4/elasticsearch-2.3.4.zip
$ unzip elasticsearch-2.3.4.zip
$ sudo mv elasticsearch-2.3.4 /usr/local/elasticsearch
Version prüfen
$ /usr/local/elasticsearch/bin/elasticsearch --version
Version: 2.3.4, Build: e455fd0/2016-06-30T11:24:31Z, JVM: 1.8.0_101
Führen Sie den folgenden Befehl aus
$ cd /usr/local/elasticsearch
$ bin/plugin install analysis-kuromoji
Führen Sie den folgenden Befehl aus
$ /usr/local/elasticsearch/bin/elasticsearch
Starten Sie ein anderes Terminal und führen Sie den folgenden Befehl aus
$ curl localhost:9200
Alternativ können Sie mit einem Webbrowser auf die folgende URL zugreifen
http://localhost:9200
Erfolgreicher Start, wenn die folgende Antwort empfangen wird
{
"name" : "Akasha",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.3.4",
"build_hash" : "Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"build_timestamp" : "2016-06-30T11:24:31Z",
"build_snapshot" : false,
"lucene_version" : "5.5.0"
},
"tagline" : "You Know, for Search"
}
Führen Sie den folgenden Befehl aus
$ pip install elasticsearch
Speichern Sie den folgenden Code als test.py.
test.py
# coding: utf-8
# # Elasticsearch
# In[1]:
from elasticsearch import Elasticsearch
es = Elasticsearch("localhost:9200")
es
# #Variable Initialisierung
# In[2]:
esIndex = "bot"
esType = "talks"
# #Index hinzufügen
# - curl -X POST http://localhost:9200/bot/talks -d '{"mode":"Schöne Grüße", "words":"Guten Morgen"}'
# In[3]:
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Guten Morgen"})
# In[4]:
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Hallo"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Guten Abend"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Auf Wiedersehen"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Schöne Grüße", "words":"Gute Nacht"})
es.index(index=esIndex, doc_type=esType, body={"mode":"Zitate", "words":"Nichts zu sterben und aufzuheben"})
# #Indexänderung
# - curl -X POST http://localhost:9200/bot/talks?id=AVYGQm6Q8mtRod8eIWiq -d '{"mode":"Schöne Grüße","words":"Gute Nacht"}'
#
#Aktualisieren, wenn ID vorhanden ist, Hinzufügen, wenn ID nicht vorhanden ist
# In[21]:
es.index(index=esIndex, doc_type=esType, id="AVYGQm6Q8mtRod8eIWiq", body={"mode":"Schöne Grüße", "words":"bis morgen"})
# #Datenerfassung
# - curl -X GET http://localhost:9200/bot/talks/_search?pretty -d '{"query":{"match_all":{}}}'
# In[29]:
res = es.search(index=esIndex, body={"query": {"match_all": {}}})
res
# In[23]:
len(res["hits"]["hits"])
words = []
modes = []
for i in range(len(res["hits"]["hits"])):
row = res["hits"]["hits"][i]["_source"]
print(row)
words.append(row["words"])
modes.append(row["mode"])
# #Daten löschen
# - curl -X DELETE http://localhost:9200/bot/
# In[8]:
#es.indices.delete(index="bot")
# #Verwendung von Plug-Ins
# -Morphologische Analyse
# In[24]:
text = "Das Wetter ist heute gut, nicht wahr?"
# In[25]:
def analyze(es, text):
params = {"analyzer":"kuromoji"}
body = {"text":text}
http_status, data = es.indices.client.transport.perform_request(
'GET',
'/' + esIndex + '/_analyze',
params=params,
body=body
)
return map(lambda x: x.get('token'), data.get('tokens')[0:])
# In[26]:
tokens = analyze(es, text)
print(' '.join(tokens))
# In[30]:
for word in words:
print(' '.join(analyze(es, word)))
Führen Sie den folgenden Befehl aus
$ python test.py
Erfolg, wenn Sie die folgende Antwort erhalten!
{'mode': 'Schöne Grüße', 'words': 'Guten Morgen'}
{'mode': 'Schöne Grüße', 'words': 'Guten Abend'}
{'mode': 'Schöne Grüße', 'words': 'Hallo'}
{'mode': 'Schöne Grüße', 'words': 'Auf Wiedersehen'}
{'mode': 'Schöne Grüße', 'words': 'Gute Nacht'}
{'mode': 'Zitate', 'words': 'Nichts zu sterben und aufzuheben'}
{'mode': 'Schöne Grüße', 'words': 'bis morgen'}
Schönes Wetter heute
Guten Morgen
Guten Abend
Hallo
Auf Wiedersehen
Gute Nacht
Nimm eine tote Leiche
Morgen
Nun, was machen wir jetzt (^ _ ^;)
Oh, ich habe Jupyter Notebook nicht benutzt (Schweiß)
Recommended Posts