我有 24,888 条记录进入带有 FTS 索引的 SQLite 表。我使用 .import 从一组带有逗号分隔符的 .csv 文件中加载表。
平台是 Linux - CentOS 6.2,SQLite 3.6.20 作为此发行版中支持的版本。
这一直在使用 FTS 3 构建搜索系统 - 使用 Apache 和 PHP。
为了获得 FTS 4 功能——我需要的统计信息——我最近手动更新到 SQLite 3.7.13——最新的。
不幸的是,现在当我从 .csv 导入时——无论是到 FTS 3 还是 FTS 4 表,我丢失了超过一半的行/记录——我只得到 12,224 而不是 24,888。
导入期间没有报告错误。
数据中的最后一列是大量(在某些记录中)文本 - 在少数情况下高达 200K - 300K。文本中仍有一些字符,例如双引号或 m-dash 或 n-dash。
.immport 代码是否有可能看起来像文件结尾?
字数统计实用程序“wc -l”查看所有 24,888 行。
最后一点,.csv 文件是使用在 Linux 系统上运行的 Python 2.6.6 创建的,并且任何原始换行符都被转义(到 ||),所以我相信它们具有统一的回车控制/换行符。也许我错过了一些 SQLite 3.6 忽略但 3.7 看到的换行符或回车符?
我真的需要额外的 FTS 4 功能(主要是使用 matchinfo 报告有关搜索结果的统计信息),但如果我无法加载所有数据,那就不好了!
谢谢,劳伦斯·布雷瓦德加利福尼亚州圣何塞
[keywords2@keywords2c6x64 grant-import-tools]$ /usr/local/bin/sqlite3.7 --version
3.7.13 2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc
[keywords2@keywords2c6x64 grant-import-tools]$ /usr/bin/sqlite3 --version
3.6.20
[keywords2@keywords2c6x64 grant-import-tools]$ uname -a
Linux keywords2c6x64 2.6.32-220.23.1.el6.x86_64 #1 SMP Mon Jun 18 18:58:52 BST 2012 x86_64 x86_64 x86_64 GNU/Linux
[keywords2@keywords2c6x64 grant-import-tools]$ cat /etc/redhat-release
CentOS release 6.2 (Final)