twitter APIからJSONオブジェクトをPythonスクリプトを使用して弾性検索インスタンスにロードしています。twitter jsonをPythonでエラスティック検索するときのフィールド型マップ
リストには、JSONオブジェクトとしてのツイートが含まれており、弾性検索に解析されます。弾性検索にロードする前に
import elasticsearch
import json
import requests
tweet_list = request(get_tweets_via_request)
for tweet in tweet_list:
es.index(index="twitter",doc_type="tweet",body=tweet)
、私はstring
の代わりdate
としてcreated_at
フィールドをマッピングします。マッピングを設定せずにPythonスクリプトを実行すると、created_at
フィールドはstring
と解釈されます。私はマッピングでcurlコマンドを使用してPythonスクリプトを実行する前に、いくつかのマッピングを適用しようとしている
{"created_at":{"type":"string"}
(carrige戻って/スペース削除)インライン:
curl -XPUT localhost:9200/twitter -d {"settings":{"index":{"number_of_shards":1}},"mappings":{"tweet":{"properties":{"created_at":{"format":"EEEMMMddHH:mm:ssZYYYY","type":"date"}}}}}
と結果のエラー:
{"error":{"root_cause":[{"type":"parse_exception","reason":"failed to parse source for create index"}],"type":"parse_exception","reason":"failed to parse source for create index","caused_by":{"type":"json_parse_exception","reason":"Unrecognized token 'EEEMMMddHH': was expecting ('true', 'false' or 'null')\n at [Source: [[email protected]; line: 1, column: 99]"}},"status":400}
こんにちは、ありがとう - まだそれを働かそうとしています。 pythonやcurlコマンドで試してみましたが、登録するマッピングを取得できません。 curlを使用してESにpingを実行すると応答が返されますが、マッピングを実行しようとしたときに ''ホスト型エラーを解決できませんでした – joshi123
送信しようとしているカール要求を表示できますか? – Val
確かに、 'curl -X PUT localhost:9200/twitter/_mapping?ignore_conflicts = true -d \ {...' – joshi123