概述
CSV连接器提供从CSV文件获取数据并注册到 Fess 索引的功能。
此功能需要 fess-ds-csv 插件。
前提条件
需要安装插件
需要具有CSV文件的访问权限
需要了解CSV文件的字符编码
插件安装
方法1: 直接放置JAR文件
方法2: 从管理界面安装
打开「系统」→「插件」
上传JAR文件
重启 Fess
配置方法
从管理界面的「爬虫」→「数据存储」→「新建」进行配置。
基本设置
| 项目 | 设置示例 |
|---|---|
| 名称 | Products CSV |
| 处理器名称 | CsvDataStore |
| 启用 | 开 |
参数设置
本地文件:
HTTP文件:
多个文件:
参数列表
脚本设置
有标题行的情况:
无标题行的情况(列索引指定):
可用字段
data.<列名>- 标题行的列名(has_header_line=true 时)data.cell<N>- 列索引(has_header_line=false 时,从1开始:cell1,cell2…)
CSV格式详情
标准CSV(RFC 4180兼容)
更改分隔符
制表符分隔(TSV):
分号分隔:
自定义引号
单引号:
编码
日语文件(Shift_JIS):
日语文件(EUC-JP):
使用示例
产品目录CSV
CSV文件(products.csv):
参数:
脚本:
库存信息过滤:
员工名册CSV
CSV文件(employees.csv):
参数:
脚本:
无标题行的CSV
CSV文件(data.csv):
参数:
脚本:
多CSV文件整合
参数:
脚本:
制表符分隔(TSV)文件
TSV文件(data.tsv):
参数:
脚本:
故障排除
找不到文件
症状: FileNotFoundException 或 No such file
确认事项:
确认文件路径是否正确(推荐使用绝对路径)
确认文件是否存在
确认是否有文件读取权限
确认 Fess 运行用户是否可以访问
出现乱码
症状: 中文/日文无法正确显示
解决方法:
指定正确的字符编码:
确认文件编码:
列无法正确识别
症状: 列分隔符无法正确识别
确认事项:
确认分隔符是否正确:
确认引号设置
确认CSV文件格式(是否符合RFC 4180)
标题行处理
症状: 第一行被识别为数据
解决方法:
有标题行时:
无标题行时:
无法获取数据
症状: 爬取成功但数量为0
确认事项:
确认CSV文件是否为空
确认脚本设置是否正确
确认列名是否正确(has_header_line=true 时)
在日志中确认错误信息
大型CSV文件
症状: 内存不足或超时
解决方法:
将CSV文件分割成多个
在脚本中只使用必要的列
增加 Fess 的堆大小
过滤不必要的行
包含换行符的字段
RFC 4180格式中,可以通过引号包裹来处理包含换行符的字段:
参数: