文脉·艺文类聚

首页 › 析疑

析 疑

57 个问题,按 10 类归:部序与体例、门类归属、名物与制度、 引书与史源、文体与编纂、撰人与文学史、纪年、异文校勘、版本阙佚与检索缺口。

为什么用两字词在库里搜不到,比如搜「兰亭」结果为0?

库中全文检索表 passage_fts 使用 trigram 分词,按连续三字建索引。因此三字以上的词可以直接 MATCH,如「桃花源」能命中三条;两字词如「兰亭」不入 trigram 索引,直接 MATCH 会返回 0。这不是库里没有「兰亭」,而是检索方式不对。两字检索应改用 LIKE,例如在 passage.text 上执行 like '%兰亭%';或者在 FTS 上先补一个字再搜,如兰亭序会稽兰。这一限制来自 SQLite 的 trigram 分词器设计,不是数据缺失。实际操作建议:三字以上用 FTS,两字用 LIKE,单字用 LIKE 并配合部、门过滤。另需注意底本用「.」作句读,FTS 索引里标点也占位,但 trigram 只按字符切,标点不参与匹配,所以不必先把「.」换成「。」再搜。两字检索还有一个替代办法:用 SQL 的 LIKE 配合部、门过滤,如先按 section_group 找到「兰」相关门,再在门内 LIKE 搜「兰亭」。这样既避开 trigram 的两字限制,又不会被全库噪声淹没。三字以上仍建议用 FTS,速度快且能排序。trigram 的两字限制还影响人名检索:两字人名如「陆机」「沈约」不能直接 MATCH,需用 LIKE 或加一字。三字以上的人名、书名、门名则可用 FTS。检索前先判断关键词长度,再选工具,能省很多无效查询。检索工具的选择,本质上是对数据形态的尊重;用错工具,不是数据坏了,而是方法不对。工具选对,检索才有意义;工具选错,先别怀疑数据。

第一次用这个库,最该先看哪几张表?按什么顺序查?

建议按骨架—段落—专题三层查。第一层看骨架:division 四十六行给出部序与卷范围,volume 一百行给出每卷的部序列与段数,section_group 七百余行给出门名、首末卷、门次数,section 给出每门在卷内的起止行。先读这三张,能迅速建立卷几属哪部、哪部有哪些门的地图。第二层看段落:passage 是原子表,字段有 vol_no、line、style、style_kind、text,按卷或门过滤即可取原文;entry 与 passage 一一对应,便于按 lead 检索。第三层看专题:citation 查引书,literary_piece 查撰人与篇题,editorial_note 查校记与异文,crossref 查事具某门,time_mention 查纪年,volume_note 查卷级校记。典型查法:先按门名找 section_group,拿到 group_id,再连 section 与 passage 取文;若查某书引用,直接按 book_title 过滤 citation,再回 passage 取上下文。切记 volume.division 只是卷首部名,卷内可能换部,跨部卷应以 divisions 字段为准。查引书时还有一条捷径:citation 表带 div_id,可先按部过滤,再看该部引了哪些书。例如查礼部引了哪些礼书,直接按 div_id 与 book_title 分组即可,不必逐段翻。查撰人同理,literary_piece 带 style 与 author,可先按文体过滤。

既然段是原子,为什么有些段落里能读出好几条互不相干的引书?

因为底本按行切段,而原书的条目边界在这类地方已经模糊。卷第四元正门有一条长段,从「孔丛子曰.邯郸民以正月旦献爵于赵王」起,中接「东观汉记曰.戴凭为侍中」,再接「汉书曰.鲍宣字子都」,三条各自完整却挤在一行;卷第五十八砚门也有类似情形,一段里可能先叙砚铭、再叙东宫制度。全库含两个以上X曰结构的段落有二千五百八十六段,占近两成。数据层坚持段为原子,是因为段能精确落到行号,可回底本核对;若强行在段内再切,就要重新判定条目边界,而底本本身没有给出边界标记,切错的风险高于不切。代价是 citation 只记段首书名,段内后续书名不入表,引书总量被低估。这一缺口已在报告中标明:citation 八千七百余条是段首口径,不是全书引书总数;需要段内全量引书时,应按X曰再扫一遍 passage.text,并接受边界判断带来的误差。段内多引的缺口还有一个补救办法:在报告里给出段内疑似多引的段落清单,读者可据此人工复核,而不必全库重扫。清单按段内X曰个数排序,多引越多的段越靠前,复核效率最高。段内多引的清单还可用来评估底本质量:多引段越集中,说明该卷的条目边界越模糊;若某几卷多引段特别多,那几卷的底本来源可能与其他卷不同。这与卷级校记的「宋本缺」标记可以互相印证。多引段清单若与卷级校记交叉,能看出底本拼合的痕迹:明本补入的卷,多引段往往更多。多引段与校记交叉,是判断底本拼合的一条旁证,值得在版本研究里单独列出。

每问的解答都落在具体部、门、卷、条目或原文句子上;答案由 AI 通读底本后整理, 结论以原文为准。