#python #json #elasticsearch #lucene #full-text-search
Вопрос:
import requests, json, os from elasticsearch import Elasticsearch #folder containing the json folders of scraped data directory = '../spider/' #Elasticsearch instance will listen on port 9200 res = requests.get('http://localhost:9200') print (res.content) es = Elasticsearch([{'host': 'localhost', 'port': '9200'}]) #index value object to iterate over the JSON files i = 1 #Iterate over each JSON file and load it into Elasticsearch for filename in os.listdir(directory): if filename.endswith(".json"): fullpath=os.path.join(directory, filename) f = open(fullpath) docket_content = f.read() # Send the data into es es.index(index='myIndex', ignore=400, doc_type='_doc', id=i, document=json.loads(docket_content),) i = i 1
Это мой скрипт на python для индексирования файлов json в Elasticsearch. Но индекс MyIndex не добавляется в elasticsearch, я провел тест, который вернул false:
gt;gt;gt; from elasticsearch import Elasticsearch gt;gt;gt; gt;gt;gt; HOST_URLS = ["http://127.0.0.1:9200"] gt;gt;gt; gt;gt;gt; es_conn = Elasticsearch(HOST_URLS) gt;gt;gt; INDEX_NAME = "myIndex" gt;gt;gt; res = es_conn.indices.exists(index=INDEX_NAME) gt;gt;gt; gt;gt;gt; res False
Комментарии:
1. какой ответ вы получаете, когда делаете запрос на индекс?