我可以从我的PDF文件中提取文本,但我不知道我的方法是否正确,如何在Elasticsearch中存储我的内容。
我的PDF文本主要是德语--有 "ö"、"ä "等字母。
为了存储内容的每一个字符,我 "转义 "了必要的字符,并将它们正确地编码为JSON,这样我就可以存储它们。
例如,我想存储以下内容(PDF格式)。
我想存储以下(PDF)文本。
Öffentliche Verkehrsmittel. TestPath: C:\Windows\explorer.exe
我将其转换并上传到Elasticsearch,就像这样。
{"text":"\\u00D6ffentliche Verkehrsmittel. TestPath: C:\\\\Windows\\\\explorer.exe"}
我的问题是:这样存储文档的方式正确吗?
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
}
]
}
注:-它将其转换为纯文本,所以现在无论你搜索的是 Ö
或 ö
它会出现在搜索结果中,因为如果你使用匹配查询,在查询时应用了相同的分析器。