![](/img/trans.png)
[英]ElasticSearch - Kibana - Not able to get Index Pattern with Python
[英]How to save coordinates to index in Elasticsearch and use them in Kibana
我有這個DataFrame:
Title Authors Institutions
0 a ['name_1', 'name_2'] [['Osaka Univ.', '34.82,135.52']]
1 b ['name_1'] [['Tohoku Univ.', '38.25,140.87'], ['Kobe Univ.', '34.72,135.23']]
2 c …
3 d …
4 e …
我將其轉換為JSON文件:
df_output.to_json('output.json', orient='records', lines=True)
獲得:
{"Title": "a","Authors":["name_1", "name_2"],"Institutions":[["Osaka
University", "34.82,135.52"]]}
{"Title": "b","Authors":["name_1"],"Institutions":[['Tohoku Univ.', "38.25,
140.87"], ['Kobe Univ.', "34.72, 135.23"]]}
...
因此,將此JSON索引到Elasticsearch中,然后按標題搜索它們。
import requests
import json
from elasticsearch import Elasticsearch
url= 'https://"""my_session_in_amazon""".amazonaws.com'
es = Elasticsearch([url])
filename = 'C:/xx/xxx/output.json'
data = [json.loads(line) for line in open(filename, 'r')]
helpers.bulk(es, data, index='title', doc_type='HEP_books')
但是在基巴納州,我不知道如何訪問機構坐標以繪制機構地圖
從您粘貼的示例數據框中,看起來“機構”是一個既包含機構名稱又包含其坐標的數組。 這將使得不可能在地圖上繪制這些坐標,因為elasticsearch動態映射會將“機構”視為字符串/關鍵字,而不是geo_point / number。
您需要的第一步是將坐標提取到專用字段,例如Institutions.geo。 您可以使用提取管道來提取它並修改文檔。
其次,您需要在Elasticsearch模板中為這些索引指定Institutions.geo(例如)是geo_point ,並為此數據創建一個新索引。
第三,在清除數據后,在單獨的專用字段中進行正確的映射,您需要刷新kibana中的字段列表,以便kibana能夠識別新的Institution.geo字段。
第四,在刷新kibana中的映射后,您可以繼續基於此數據創建新的Map可視化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.