从ElasticSearchJSON文件获取数据到Python

2024-09-28 21:46:29 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将查询结果获取到保留层次结构的列的数据帧中?像这样的列:

type|postDate|discussionTitle|courses|subjectKeywords|SentiStrength|SentiWordNet|universities|universityKeywords|

我有一个elasticSearch,里面有大约1000000个JSOn文档。 我想将这个数据集用于Python的自然语言处理(NLP)。 有人能帮我从elasticsearch获取数据到Python并从Python写回elasticsearch的数据吗。 非常感谢,因为我无法对我拥有的数据集执行任何NLP,因为我无法让它与Python连接。 这就是elasticsearch的索引结构:
我想在层次结构中输入一个新的索引,就像“大学信息”称为“过程信息” 这个新索引将根据我给出的一组关键字对数据集进行索引,就像“universityKeywords”一样,每个jason文件都应该存储标签使用的关键字集。 我想将数据集标记为“process info”-在json文件上放置4个标记或类别,命名为:应用程序、优惠、注册、基于json文件中关键字的要求、帖子标题和帖子文本

^{pr2}$

这是我用来在java中创建process info标记的代码-我想在Python中也这样做

 processMap.put("Applications", new ArrayList<>(Arrays.asList("apply", "applied", "applicant", "applying", "application", "applications")));
        processMap.put("Offers", new ArrayList<>(Arrays.asList("offers", "offer", "offered", "offering")));
        processMap.put("Enrollment", new ArrayList<>(Arrays.asList("enrolling","enroled","enroll", "enrolment", "enrollment","enrol","enrolled")));
        processMap.put("Requirements", new ArrayList<>(Arrays.asList("requirement","requirements", "require")));

Tags: 文件数据标记信息newnlp层次结构put
1条回答
网友
1楼 · 发布于 2024-09-28 21:46:29

使用elasticsearch python client,一旦您建立了一个成功的连接,您只需要提供DSL查询和您想要搜索以检索所需信息的索引,例如,如果您有一个查询:

GET educationforumsenriched2/_search
{
    "query": {
        "match" : {
            "CourseInfo.subjectKeywords" : "foo"
        }
    }
}

Python中的等价物是:

^{pr2}$

编辑:只需考虑一下,但是如果您的处理不太复杂,您也可以考虑构建一个ingest pipeline

相关问题 更多 >