新手研究elasticsearch,已经安装好ES-RTF ,IK,HEAD;
关于使用有几个问题请教:
1、ES数据库是否支持自增ID,类似于MYSQL的AUTOKEY;
2、如果取到当前记录的_ID可否顺序取他下一个_ID;
3、ES有没有图形化的数据维护工具,可以直接有个列表进行删除操作。
4、 导入数据的时候不小心导入重复了,ES中是否有快速DISTINCT然后删除的语法,谢谢啦
def ClearData():
es = Elasticsearch(["localhost:9200"], timeout=20)
query_json = {
"query": {
"match_all": {},
}
}
query = es.search(index='sourcearticle', doc_type='articleall',body=query_json,scroll='5m',size=100)
results = query['hits']['hits'] # es查询出的结果第一页
total = query['hits']['total'] # es查询出的结果总量
scroll_id = query['_scroll_id'] # 游标用于输出es查询出的所有结果
for i in range(0, int(total/100)+1):
# scroll参数必须指定否则会报错
resp_docsA = es.scroll(scroll_id=scroll_id,scroll='5m')['hits']['hits']
results += resp_docsA
#resp_docsA = resp['hits']['hits']
#print(resp)
for itemA in resp_docsA:
stringA=itemA['_source']["maintext"]
idA=itemA["_id"]
if len(stringA)>1000:
stringA=stringA[1000]
resp_docsB=Estsearch1(stringA,"maintext")
for itemB in resp_docsB:
stringB=itemB['_source']["maintext"]
if len(stringB)>1000:
stringB=stringB[1000]
idB=itemB["_id"]
CompareResul=simmnaCompare(str(stringA),str(stringB))
if CompareResul<0.1 and CompareResul!=0 and idB!=idA:
delarticle(idB,"_id")# 删除找到的重复记录
ElasticHD
ElasticHD 支持 ES监控、实时搜索、Index template快捷替换修改、索引列表信息查看, SQL converts to DSL工具等。是一款非常伴的 Dashboard。