使用德语进行简单的Elasticsearch PDF文本搜索。

问题描述 投票:0回答:1

我可以从我的PDF文件中提取文本,但我不知道我的方法是否正确,如何在Elasticsearch中存储我的内容。

我的PDF文本主要是德语--有 "ö"、"ä "等字母。

为了存储内容的每一个字符,我 "转义 "了必要的字符,并将它们正确地编码为JSON,这样我就可以存储它们。

例如,我想存储以下内容(PDF格式)。

我想存储以下(PDF)文本。

Öffentliche Verkehrsmittel. TestPath: C:\Windows\explorer.exe

我将其转换并上传到Elasticsearch,就像这样。

{"text":"\\u00D6ffentliche Verkehrsmittel. TestPath: C:\\\\Windows\\\\explorer.exe"}

我的问题是:这样存储文档的方式正确吗?

elasticsearch pdf ocr apache-tika
1个回答
2
投票

Elasticsearch提出了一个广泛的 内置的语言分析器。 如果你正在创建文本字段并存储你的数据,默认情况下使用的是标准分析器。

{

    "mappings": {
        "properties": {
            "title.german" :{
                "type" :"text",
                "analyzer" : "german"
            }
        }
    }
}

你也可以检查语言分析器产生的标记,在你的例子中,德语使用的是 分析API

{
    "text" : "Öffentliche",
    "analyzer" : "german"
}

并生成代币

{
    "tokens": [
        {
            "token": "offentlich",
            "start_offset": 0,
            "end_offset": 11,
            "type": "<ALPHANUM>",
            "position": 0
        }
    ]
}

代币 Ö

{
    "text" : "Ö",
    "analyzer" : "german"
}

{
    "tokens": [
        {
            "token": "o",
            "start_offset": 0,
            "end_offset": 1,
            "type": "<ALPHANUM>",
            "position": 0
        }
    ]
}

注:-它将其转换为纯文本,所以现在无论你搜索的是 Öö 它会出现在搜索结果中,因为如果你使用匹配查询,在查询时应用了相同的分析器。

© www.soinside.com 2019 - 2024. All rights reserved.