@mailwoman/resolver-wof-sqlite 9.4.0 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/lib/address/{point-interpolation.ts → point/interpolation.ts} +40 -38
- package/lib/address/point/schema.ts +132 -0
- package/lib/address/point.ts +68 -81
- package/lib/{address/index.ts → address.ts} +2 -2
- package/lib/ancestry/backfill.ts +24 -88
- package/lib/{ancestry/index.ts → ancestry.ts} +19 -15
- package/lib/build/candidate.ts +608 -0
- package/lib/build/population-corrections.ts +64 -0
- package/lib/build/slim.ts +338 -0
- package/lib/candidate/alias-bags.ts +74 -14
- package/lib/candidate/ancestors/schema.ts +211 -0
- package/lib/candidate/{ancestors-sidecar.ts → ancestors/sidecar.ts} +17 -24
- package/lib/candidate/country-display-names.ts +6 -20
- package/lib/candidate/extract-fold.ts +12 -57
- package/lib/candidate/fts.ts +28 -0
- package/lib/candidate/importance.ts +221 -0
- package/lib/candidate/lookup.ts +669 -0
- package/lib/candidate/name-roles.ts +16 -34
- package/lib/candidate/own-name.ts +34 -31
- package/lib/candidate/place-attrs.ts +20 -13
- package/lib/candidate/schema.ts +211 -0
- package/lib/candidate/scoring.ts +222 -0
- package/lib/capital-schema.ts +21 -17
- package/lib/capitals.ts +26 -24
- package/lib/coincident-roles.ts +74 -55
- package/lib/convention/schema.ts +13 -7
- package/lib/convention.ts +144 -0
- package/lib/coverage-manifest-schema.ts +34 -39
- package/lib/currency-backfill.ts +24 -69
- package/lib/env.ts +1 -1
- package/lib/exact-match.ts +31 -20
- package/lib/extracts.ts +96 -73
- package/lib/fst/autocomplete.ts +52 -35
- package/lib/fst/builder.ts +30 -36
- package/lib/fst/deserialize-web.ts +8 -9
- package/lib/fst/format.ts +41 -23
- package/lib/fst/freshness.ts +17 -95
- package/lib/fst/matcher.ts +2 -2
- package/lib/fst/serialize.ts +45 -60
- package/lib/fst/types.ts +71 -59
- package/lib/fts/query.ts +5 -36
- package/lib/fts.ts +280 -0
- package/lib/geonames/aliases.ts +72 -149
- package/lib/geonames/postal.ts +162 -77
- package/lib/index.ts +20 -27
- package/lib/interpolation.ts +43 -96
- package/lib/lookup.ts +137 -257
- package/lib/name-score.ts +9 -7
- package/lib/nsul/lookup.ts +36 -53
- package/lib/nsul/schema.ts +16 -43
- package/lib/paths.ts +159 -0
- package/lib/place-importance-schema.ts +57 -164
- package/lib/poi/lookup.ts +100 -109
- package/lib/poi/schema.ts +42 -26
- package/lib/polygon-schema.ts +10 -6
- package/lib/postal/city/alias/lookup.ts +79 -0
- package/lib/postal/{city-alias-schema.ts → city/alias/schema.ts} +14 -10
- package/lib/postal/{city-candidate-schema.ts → city/candidate-schema.ts} +26 -20
- package/lib/postal.ts +9 -0
- package/lib/postcode-point-lookup.ts +9 -19
- package/lib/primary-preference.ts +45 -125
- package/lib/proximity-rerank.ts +43 -32
- package/lib/ranking-weights.ts +98 -76
- package/lib/region-keys.ts +68 -40
- package/lib/reverse.ts +108 -72
- package/lib/schema.ts +74 -42
- package/lib/search-fetch.ts +90 -68
- package/lib/sqlite/convention-source.ts +57 -0
- package/lib/sqlite/utils.ts +79 -0
- package/lib/street/centroid/schema.ts +149 -0
- package/lib/street/centroid.ts +16 -25
- package/lib/street/{morphology-fst-builder.ts → morphology/fst/builder.ts} +56 -41
- package/lib/street/{morphology-fst-loader.ts → morphology/fst/loader.ts} +36 -29
- package/lib/street/name-lookup.ts +43 -35
- package/lib/street/normalize.ts +85 -216
- package/lib/street/segment-schema.ts +116 -43
- package/lib/{street/index.ts → street.ts} +3 -3
- package/lib/types.ts +94 -140
- package/lib/unified-schema.ts +29 -29
- package/lib/uprn/existence.ts +30 -19
- package/lib/uprn/lookup.ts +28 -67
- package/lib/uprn/schema.ts +18 -40
- package/lib/weights-overlay-linker.ts +204 -232
- package/out/address/point/interpolation.d.ts +45 -0
- package/out/address/point/interpolation.d.ts.map +1 -0
- package/out/address/{point-interpolation.js → point/interpolation.js} +38 -38
- package/out/address/point/interpolation.js.map +1 -0
- package/out/address/point/schema.d.ts +74 -0
- package/out/address/point/schema.d.ts.map +1 -0
- package/out/address/{point-schema.js → point/schema.js} +4 -20
- package/out/address/point/schema.js.map +1 -0
- package/out/address/point.d.ts +24 -21
- package/out/address/point.d.ts.map +1 -1
- package/out/address/point.js +60 -77
- package/out/address/point.js.map +1 -1
- package/out/{address/index.js → address.d.ts} +3 -3
- package/out/address.d.ts.map +1 -0
- package/out/{address/index.d.ts → address.js} +3 -3
- package/out/address.js.map +1 -0
- package/out/ancestry/backfill.d.ts +11 -64
- package/out/ancestry/backfill.d.ts.map +1 -1
- package/out/ancestry/backfill.js +18 -76
- package/out/ancestry/backfill.js.map +1 -1
- package/out/ancestry.d.ts +49 -0
- package/out/ancestry.d.ts.map +1 -0
- package/out/ancestry.js +59 -0
- package/out/ancestry.js.map +1 -0
- package/out/build/candidate.d.ts +170 -0
- package/out/build/candidate.d.ts.map +1 -0
- package/out/{build-candidate.js → build/candidate.js} +33 -102
- package/out/build/candidate.js.map +1 -0
- package/out/build/population-corrections.d.ts +52 -0
- package/out/build/population-corrections.d.ts.map +1 -0
- package/out/build/population-corrections.js +40 -0
- package/out/build/population-corrections.js.map +1 -0
- package/out/build/slim.d.ts +44 -0
- package/out/build/slim.d.ts.map +1 -0
- package/out/{build-slim.js → build/slim.js} +33 -94
- package/out/build/slim.js.map +1 -0
- package/out/candidate/alias-bags.d.ts +13 -5
- package/out/candidate/alias-bags.d.ts.map +1 -1
- package/out/candidate/alias-bags.js +55 -12
- package/out/candidate/alias-bags.js.map +1 -1
- package/out/candidate/ancestors/schema.d.ts +166 -0
- package/out/candidate/ancestors/schema.d.ts.map +1 -0
- package/out/candidate/ancestors/schema.js +131 -0
- package/out/candidate/ancestors/schema.js.map +1 -0
- package/out/candidate/ancestors/sidecar.d.ts +27 -0
- package/out/candidate/ancestors/sidecar.d.ts.map +1 -0
- package/out/candidate/{ancestors-sidecar.js → ancestors/sidecar.js} +17 -24
- package/out/candidate/ancestors/sidecar.js.map +1 -0
- package/out/candidate/country-display-names.d.ts +5 -15
- package/out/candidate/country-display-names.d.ts.map +1 -1
- package/out/candidate/country-display-names.js +6 -20
- package/out/candidate/country-display-names.js.map +1 -1
- package/out/candidate/extract-fold.d.ts +8 -16
- package/out/candidate/extract-fold.d.ts.map +1 -1
- package/out/candidate/extract-fold.js +6 -48
- package/out/candidate/extract-fold.js.map +1 -1
- package/out/candidate/fts.d.ts +19 -0
- package/out/candidate/fts.d.ts.map +1 -0
- package/out/candidate/fts.js +22 -0
- package/out/candidate/fts.js.map +1 -0
- package/out/candidate/importance.d.ts +127 -0
- package/out/candidate/importance.d.ts.map +1 -0
- package/out/candidate/importance.js +162 -0
- package/out/candidate/importance.js.map +1 -0
- package/out/candidate/lookup.d.ts +36 -0
- package/out/candidate/lookup.d.ts.map +1 -0
- package/out/candidate/lookup.js +456 -0
- package/out/candidate/lookup.js.map +1 -0
- package/out/candidate/name-roles.d.ts +10 -22
- package/out/candidate/name-roles.d.ts.map +1 -1
- package/out/candidate/name-roles.js +15 -33
- package/out/candidate/name-roles.js.map +1 -1
- package/out/candidate/own-name.d.ts +23 -25
- package/out/candidate/own-name.d.ts.map +1 -1
- package/out/candidate/own-name.js +34 -31
- package/out/candidate/own-name.js.map +1 -1
- package/out/candidate/place-attrs.d.ts +20 -13
- package/out/candidate/place-attrs.d.ts.map +1 -1
- package/out/candidate/place-attrs.js +4 -5
- package/out/candidate/place-attrs.js.map +1 -1
- package/out/candidate/schema.d.ts +120 -0
- package/out/candidate/schema.d.ts.map +1 -0
- package/out/{candidate-schema.js → candidate/schema.js} +11 -23
- package/out/candidate/schema.js.map +1 -0
- package/out/{candidate-scoring.d.ts → candidate/scoring.d.ts} +8 -9
- package/out/candidate/scoring.d.ts.map +1 -0
- package/out/candidate/scoring.js +157 -0
- package/out/candidate/scoring.js.map +1 -0
- package/out/capital-schema.d.ts +21 -17
- package/out/capital-schema.d.ts.map +1 -1
- package/out/capital-schema.js +17 -15
- package/out/capital-schema.js.map +1 -1
- package/out/capitals.d.ts +26 -24
- package/out/capitals.d.ts.map +1 -1
- package/out/capitals.js +23 -21
- package/out/capitals.js.map +1 -1
- package/out/coincident-roles.d.ts +60 -43
- package/out/coincident-roles.d.ts.map +1 -1
- package/out/coincident-roles.js +61 -50
- package/out/coincident-roles.js.map +1 -1
- package/out/convention/schema.d.ts +12 -6
- package/out/convention/schema.d.ts.map +1 -1
- package/out/convention/schema.js +6 -4
- package/out/convention/schema.js.map +1 -1
- package/out/convention.d.ts +97 -0
- package/out/convention.d.ts.map +1 -0
- package/out/convention.js +81 -0
- package/out/convention.js.map +1 -0
- package/out/coverage-manifest-schema.d.ts +33 -38
- package/out/coverage-manifest-schema.d.ts.map +1 -1
- package/out/coverage-manifest-schema.js +20 -29
- package/out/coverage-manifest-schema.js.map +1 -1
- package/out/currency-backfill.d.ts +13 -35
- package/out/currency-backfill.d.ts.map +1 -1
- package/out/currency-backfill.js +12 -39
- package/out/currency-backfill.js.map +1 -1
- package/out/env.d.ts +2 -2
- package/out/env.js +1 -1
- package/out/exact-match.d.ts +19 -10
- package/out/exact-match.d.ts.map +1 -1
- package/out/exact-match.js +31 -20
- package/out/exact-match.js.map +1 -1
- package/out/extracts.d.ts +65 -54
- package/out/extracts.d.ts.map +1 -1
- package/out/extracts.js +63 -55
- package/out/extracts.js.map +1 -1
- package/out/fst/autocomplete.d.ts +28 -20
- package/out/fst/autocomplete.d.ts.map +1 -1
- package/out/fst/autocomplete.js +38 -27
- package/out/fst/autocomplete.js.map +1 -1
- package/out/fst/builder.d.ts.map +1 -1
- package/out/fst/builder.js +30 -36
- package/out/fst/builder.js.map +1 -1
- package/out/fst/deserialize-web.d.ts +3 -3
- package/out/fst/deserialize-web.d.ts.map +1 -1
- package/out/fst/deserialize-web.js +8 -9
- package/out/fst/deserialize-web.js.map +1 -1
- package/out/fst/format.d.ts +41 -23
- package/out/fst/format.d.ts.map +1 -1
- package/out/fst/format.js +41 -23
- package/out/fst/format.js.map +1 -1
- package/out/fst/freshness.d.ts +11 -73
- package/out/fst/freshness.d.ts.map +1 -1
- package/out/fst/freshness.js +12 -76
- package/out/fst/freshness.js.map +1 -1
- package/out/fst/matcher.d.ts +1 -1
- package/out/fst/matcher.d.ts.map +1 -1
- package/out/fst/matcher.js +2 -2
- package/out/fst/matcher.js.map +1 -1
- package/out/fst/serialize.d.ts +30 -26
- package/out/fst/serialize.d.ts.map +1 -1
- package/out/fst/serialize.js +44 -58
- package/out/fst/serialize.js.map +1 -1
- package/out/fst/types.d.ts +71 -59
- package/out/fst/types.d.ts.map +1 -1
- package/out/fst/types.js +1 -4
- package/out/fst/types.js.map +1 -1
- package/out/{fst/index.js → fst.d.ts} +1 -1
- package/out/fst.d.ts.map +1 -0
- package/out/{fst/index.d.ts → fst.js} +1 -1
- package/out/fst.js.map +1 -0
- package/out/fts/query.d.ts +2 -27
- package/out/fts/query.d.ts.map +1 -1
- package/out/fts/query.js +5 -36
- package/out/fts/query.js.map +1 -1
- package/out/fts.d.ts +126 -0
- package/out/fts.d.ts.map +1 -0
- package/out/fts.js +188 -0
- package/out/fts.js.map +1 -0
- package/out/geonames/aliases.d.ts +26 -67
- package/out/geonames/aliases.d.ts.map +1 -1
- package/out/geonames/aliases.js +44 -121
- package/out/geonames/aliases.js.map +1 -1
- package/out/geonames/postal.d.ts +84 -50
- package/out/geonames/postal.d.ts.map +1 -1
- package/out/geonames/postal.js +115 -78
- package/out/geonames/postal.js.map +1 -1
- package/out/{geonames/index.js → geonames.d.ts} +1 -1
- package/out/geonames.d.ts.map +1 -0
- package/out/{geonames/index.d.ts → geonames.js} +1 -1
- package/out/geonames.js.map +1 -0
- package/out/index.d.ts +20 -21
- package/out/index.d.ts.map +1 -1
- package/out/index.js +14 -15
- package/out/index.js.map +1 -1
- package/out/interpolation.d.ts +15 -52
- package/out/interpolation.d.ts.map +1 -1
- package/out/interpolation.js +25 -68
- package/out/interpolation.js.map +1 -1
- package/out/lookup.d.ts +24 -53
- package/out/lookup.d.ts.map +1 -1
- package/out/lookup.js +117 -223
- package/out/lookup.js.map +1 -1
- package/out/name-score.d.ts +2 -2
- package/out/name-score.d.ts.map +1 -1
- package/out/name-score.js +9 -7
- package/out/name-score.js.map +1 -1
- package/out/nsul/lookup.d.ts +33 -34
- package/out/nsul/lookup.d.ts.map +1 -1
- package/out/nsul/lookup.js +26 -40
- package/out/nsul/lookup.js.map +1 -1
- package/out/nsul/schema.d.ts +16 -43
- package/out/nsul/schema.d.ts.map +1 -1
- package/out/nsul/schema.js +9 -35
- package/out/nsul/schema.js.map +1 -1
- package/out/{nsul/index.d.ts → nsul.d.ts} +1 -1
- package/out/nsul.d.ts.map +1 -0
- package/out/{nsul/index.js → nsul.js} +1 -1
- package/out/nsul.js.map +1 -0
- package/out/paths.d.ts +124 -0
- package/out/paths.d.ts.map +1 -0
- package/out/paths.js +104 -0
- package/out/paths.js.map +1 -0
- package/out/place-importance-schema.d.ts +49 -141
- package/out/place-importance-schema.d.ts.map +1 -1
- package/out/place-importance-schema.js +25 -140
- package/out/place-importance-schema.js.map +1 -1
- package/out/poi/lookup.d.ts +38 -42
- package/out/poi/lookup.d.ts.map +1 -1
- package/out/poi/lookup.js +67 -90
- package/out/poi/lookup.js.map +1 -1
- package/out/poi/schema.d.ts +41 -25
- package/out/poi/schema.d.ts.map +1 -1
- package/out/poi/schema.js +25 -17
- package/out/poi/schema.js.map +1 -1
- package/out/{poi/index.js → poi.d.ts} +1 -1
- package/out/poi.d.ts.map +1 -0
- package/out/{poi/index.d.ts → poi.js} +1 -1
- package/out/poi.js.map +1 -0
- package/out/polygon-schema.d.ts +10 -6
- package/out/polygon-schema.d.ts.map +1 -1
- package/out/polygon-schema.js +2 -2
- package/out/polygon-schema.js.map +1 -1
- package/out/postal/{city-alias-lookup.d.ts → city/alias/lookup.d.ts} +22 -25
- package/out/postal/city/alias/lookup.d.ts.map +1 -0
- package/out/postal/city/alias/lookup.js +49 -0
- package/out/postal/city/alias/lookup.js.map +1 -0
- package/out/postal/{city-alias-schema.d.ts → city/alias/schema.d.ts} +15 -11
- package/out/postal/city/alias/schema.d.ts.map +1 -0
- package/out/postal/{city-alias-schema.js → city/alias/schema.js} +11 -9
- package/out/postal/city/alias/schema.js.map +1 -0
- package/out/postal/city/candidate-schema.d.ts +72 -0
- package/out/postal/city/candidate-schema.d.ts.map +1 -0
- package/out/postal/city/candidate-schema.js +60 -0
- package/out/postal/city/candidate-schema.js.map +1 -0
- package/out/postal.d.ts +9 -0
- package/out/postal.d.ts.map +1 -0
- package/out/postal.js +9 -0
- package/out/postal.js.map +1 -0
- package/out/postcode-point-lookup.d.ts +9 -19
- package/out/postcode-point-lookup.d.ts.map +1 -1
- package/out/postcode-point-lookup.js +5 -17
- package/out/postcode-point-lookup.js.map +1 -1
- package/out/primary-preference.d.ts +39 -93
- package/out/primary-preference.d.ts.map +1 -1
- package/out/primary-preference.js +13 -97
- package/out/primary-preference.js.map +1 -1
- package/out/proximity-rerank.d.ts +40 -29
- package/out/proximity-rerank.d.ts.map +1 -1
- package/out/proximity-rerank.js +38 -29
- package/out/proximity-rerank.js.map +1 -1
- package/out/ranking-weights.d.ts +91 -62
- package/out/ranking-weights.d.ts.map +1 -1
- package/out/ranking-weights.js +26 -25
- package/out/ranking-weights.js.map +1 -1
- package/out/region-keys.d.ts +48 -29
- package/out/region-keys.d.ts.map +1 -1
- package/out/region-keys.js +68 -40
- package/out/region-keys.js.map +1 -1
- package/out/reverse.d.ts +75 -50
- package/out/reverse.d.ts.map +1 -1
- package/out/reverse.js +61 -49
- package/out/reverse.js.map +1 -1
- package/out/schema.d.ts +74 -42
- package/out/schema.d.ts.map +1 -1
- package/out/schema.js +4 -5
- package/out/schema.js.map +1 -1
- package/out/search-fetch.d.ts +16 -12
- package/out/search-fetch.d.ts.map +1 -1
- package/out/search-fetch.js +83 -63
- package/out/search-fetch.js.map +1 -1
- package/out/sqlite/convention-source.d.ts +25 -0
- package/out/sqlite/convention-source.d.ts.map +1 -0
- package/out/sqlite/convention-source.js +48 -0
- package/out/sqlite/convention-source.js.map +1 -0
- package/out/sqlite/utils.d.ts +45 -0
- package/out/sqlite/utils.d.ts.map +1 -0
- package/out/sqlite/utils.js +56 -0
- package/out/sqlite/utils.js.map +1 -0
- package/out/street/centroid/schema.d.ts +100 -0
- package/out/street/centroid/schema.d.ts.map +1 -0
- package/out/street/centroid/schema.js +66 -0
- package/out/street/centroid/schema.js.map +1 -0
- package/out/street/centroid.d.ts +9 -19
- package/out/street/centroid.d.ts.map +1 -1
- package/out/street/centroid.js +11 -22
- package/out/street/centroid.js.map +1 -1
- package/out/street/{morphology-fst-builder.d.ts → morphology/fst/builder.d.ts} +21 -11
- package/out/street/morphology/fst/builder.d.ts.map +1 -0
- package/out/street/{morphology-fst-builder.js → morphology/fst/builder.js} +40 -34
- package/out/street/morphology/fst/builder.js.map +1 -0
- package/out/street/morphology/fst/loader.d.ts +74 -0
- package/out/street/morphology/fst/loader.d.ts.map +1 -0
- package/out/street/{morphology-fst-loader.js → morphology/fst/loader.js} +21 -21
- package/out/street/morphology/fst/loader.js.map +1 -0
- package/out/street/name-lookup.d.ts +24 -18
- package/out/street/name-lookup.d.ts.map +1 -1
- package/out/street/name-lookup.js +32 -31
- package/out/street/name-lookup.js.map +1 -1
- package/out/street/normalize.d.ts +35 -136
- package/out/street/normalize.d.ts.map +1 -1
- package/out/street/normalize.js +74 -191
- package/out/street/normalize.js.map +1 -1
- package/out/street/segment-schema.d.ts +79 -39
- package/out/street/segment-schema.d.ts.map +1 -1
- package/out/street/segment-schema.js +71 -21
- package/out/street/segment-schema.js.map +1 -1
- package/out/{street/index.d.ts → street.d.ts} +4 -4
- package/out/street.d.ts.map +1 -0
- package/out/{street/index.js → street.js} +4 -4
- package/out/street.js.map +1 -0
- package/out/types.d.ts +69 -138
- package/out/types.d.ts.map +1 -1
- package/out/types.js +0 -6
- package/out/types.js.map +1 -1
- package/out/unified-schema.d.ts +8 -12
- package/out/unified-schema.d.ts.map +1 -1
- package/out/unified-schema.js +29 -29
- package/out/unified-schema.js.map +1 -1
- package/out/uprn/existence.d.ts +28 -17
- package/out/uprn/existence.d.ts.map +1 -1
- package/out/uprn/existence.js +26 -16
- package/out/uprn/existence.js.map +1 -1
- package/out/uprn/lookup.d.ts +14 -44
- package/out/uprn/lookup.d.ts.map +1 -1
- package/out/uprn/lookup.js +20 -56
- package/out/uprn/lookup.js.map +1 -1
- package/out/uprn/schema.d.ts +18 -40
- package/out/uprn/schema.d.ts.map +1 -1
- package/out/uprn/schema.js +10 -32
- package/out/uprn/schema.js.map +1 -1
- package/out/{uprn/index.d.ts → uprn.d.ts} +1 -1
- package/out/uprn.d.ts.map +1 -0
- package/out/{uprn/index.js → uprn.js} +1 -1
- package/out/uprn.js.map +1 -0
- package/out/weights-overlay-linker.d.ts +132 -141
- package/out/weights-overlay-linker.d.ts.map +1 -1
- package/out/weights-overlay-linker.js +86 -154
- package/out/weights-overlay-linker.js.map +1 -1
- package/package.json +94 -599
- package/lib/address/point-schema.ts +0 -155
- package/lib/build-candidate.ts +0 -632
- package/lib/build-slim.ts +0 -408
- package/lib/candidate-ancestors-schema.ts +0 -195
- package/lib/candidate-fts.ts +0 -46
- package/lib/candidate-importance.ts +0 -224
- package/lib/candidate-lookup.ts +0 -977
- package/lib/candidate-schema.ts +0 -247
- package/lib/candidate-scoring.ts +0 -261
- package/lib/convention/index.ts +0 -154
- package/lib/fts/index.ts +0 -361
- package/lib/postal/city-alias-lookup.ts +0 -97
- package/lib/postal/index.ts +0 -9
- package/lib/sqlite-convention-source.ts +0 -65
- package/lib/sqlite-utils.ts +0 -82
- package/lib/street/centroid-schema.ts +0 -154
- package/out/address/index.d.ts.map +0 -1
- package/out/address/index.js.map +0 -1
- package/out/address/point-interpolation.d.ts +0 -49
- package/out/address/point-interpolation.d.ts.map +0 -1
- package/out/address/point-interpolation.js.map +0 -1
- package/out/address/point-schema.d.ts +0 -97
- package/out/address/point-schema.d.ts.map +0 -1
- package/out/address/point-schema.js.map +0 -1
- package/out/ancestry/index.d.ts +0 -45
- package/out/ancestry/index.d.ts.map +0 -1
- package/out/ancestry/index.js +0 -55
- package/out/ancestry/index.js.map +0 -1
- package/out/build-candidate.d.ts +0 -184
- package/out/build-candidate.d.ts.map +0 -1
- package/out/build-candidate.js.map +0 -1
- package/out/build-slim.d.ts +0 -80
- package/out/build-slim.d.ts.map +0 -1
- package/out/build-slim.js.map +0 -1
- package/out/candidate/ancestors-sidecar.d.ts +0 -32
- package/out/candidate/ancestors-sidecar.d.ts.map +0 -1
- package/out/candidate/ancestors-sidecar.js.map +0 -1
- package/out/candidate-ancestors-schema.d.ts +0 -150
- package/out/candidate-ancestors-schema.d.ts.map +0 -1
- package/out/candidate-ancestors-schema.js +0 -123
- package/out/candidate-ancestors-schema.js.map +0 -1
- package/out/candidate-fts.d.ts +0 -37
- package/out/candidate-fts.d.ts.map +0 -1
- package/out/candidate-fts.js +0 -40
- package/out/candidate-fts.js.map +0 -1
- package/out/candidate-importance.d.ts +0 -132
- package/out/candidate-importance.d.ts.map +0 -1
- package/out/candidate-importance.js +0 -169
- package/out/candidate-importance.js.map +0 -1
- package/out/candidate-lookup.d.ts +0 -76
- package/out/candidate-lookup.d.ts.map +0 -1
- package/out/candidate-lookup.js +0 -768
- package/out/candidate-lookup.js.map +0 -1
- package/out/candidate-schema.d.ts +0 -155
- package/out/candidate-schema.d.ts.map +0 -1
- package/out/candidate-schema.js.map +0 -1
- package/out/candidate-scoring.d.ts.map +0 -1
- package/out/candidate-scoring.js +0 -196
- package/out/candidate-scoring.js.map +0 -1
- package/out/convention/index.d.ts +0 -106
- package/out/convention/index.d.ts.map +0 -1
- package/out/convention/index.js +0 -93
- package/out/convention/index.js.map +0 -1
- package/out/fst/index.d.ts.map +0 -1
- package/out/fst/index.js.map +0 -1
- package/out/fts/index.d.ts +0 -184
- package/out/fts/index.d.ts.map +0 -1
- package/out/fts/index.js +0 -277
- package/out/fts/index.js.map +0 -1
- package/out/geonames/index.d.ts.map +0 -1
- package/out/geonames/index.js.map +0 -1
- package/out/nsul/index.d.ts.map +0 -1
- package/out/nsul/index.js.map +0 -1
- package/out/poi/index.d.ts.map +0 -1
- package/out/poi/index.js.map +0 -1
- package/out/postal/city-alias-lookup.d.ts.map +0 -1
- package/out/postal/city-alias-lookup.js +0 -62
- package/out/postal/city-alias-lookup.js.map +0 -1
- package/out/postal/city-alias-schema.d.ts.map +0 -1
- package/out/postal/city-alias-schema.js.map +0 -1
- package/out/postal/city-candidate-schema.d.ts +0 -66
- package/out/postal/city-candidate-schema.d.ts.map +0 -1
- package/out/postal/city-candidate-schema.js +0 -56
- package/out/postal/city-candidate-schema.js.map +0 -1
- package/out/postal/index.d.ts +0 -9
- package/out/postal/index.d.ts.map +0 -1
- package/out/postal/index.js +0 -9
- package/out/postal/index.js.map +0 -1
- package/out/sqlite-convention-source.d.ts +0 -29
- package/out/sqlite-convention-source.d.ts.map +0 -1
- package/out/sqlite-convention-source.js +0 -57
- package/out/sqlite-convention-source.js.map +0 -1
- package/out/sqlite-utils.d.ts +0 -45
- package/out/sqlite-utils.d.ts.map +0 -1
- package/out/sqlite-utils.js +0 -57
- package/out/sqlite-utils.js.map +0 -1
- package/out/street/centroid-schema.d.ts +0 -105
- package/out/street/centroid-schema.d.ts.map +0 -1
- package/out/street/centroid-schema.js +0 -78
- package/out/street/centroid-schema.js.map +0 -1
- package/out/street/index.d.ts.map +0 -1
- package/out/street/index.js.map +0 -1
- package/out/street/morphology-fst-builder.d.ts.map +0 -1
- package/out/street/morphology-fst-builder.js.map +0 -1
- package/out/street/morphology-fst-loader.d.ts +0 -67
- package/out/street/morphology-fst-loader.d.ts.map +0 -1
- package/out/street/morphology-fst-loader.js.map +0 -1
- package/out/uprn/index.d.ts.map +0 -1
- package/out/uprn/index.js.map +0 -1
- /package/lib/{fst/index.ts → fst.ts} +0 -0
- /package/lib/{geonames/index.ts → geonames.ts} +0 -0
- /package/lib/{nsul/index.ts → nsul.ts} +0 -0
- /package/lib/{poi/index.ts → poi.ts} +0 -0
- /package/lib/{uprn/index.ts → uprn.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-candidate.js","sourceRoot":"","sources":["../lib/build-candidate.ts"],"names":[],"mappings":"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"}
|
package/out/build-slim.d.ts
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* Build a "slim" Who's On First SQLite distribution that's small enough to ship as a static asset
|
|
7
|
-
* for the browser-side mailwoman demo (Path B of the demo plan). The full admin distribution is
|
|
8
|
-
* ~2 GB; the slim variant aims for the ~50–100 MB range by keeping only the places a public demo
|
|
9
|
-
* will actually query for.
|
|
10
|
-
*
|
|
11
|
-
* Selection policy (v1, US-focused):
|
|
12
|
-
*
|
|
13
|
-
* - All countries / regions / counties / boroughs in the configured `countries` set, so the ancestor
|
|
14
|
-
* chain a locality / postcode reports through `parent_id` stays intact.
|
|
15
|
-
* - Top-K localities by population (read from the source's pre-built `place_population` aux table) in
|
|
16
|
-
* those countries.
|
|
17
|
-
* - All postcodes in those countries — they're small and addressing-relevant.
|
|
18
|
-
* - All `names` + `place_population` rows for selected place IDs.
|
|
19
|
-
* - The `coincident_roles` dual-role relation (#402), filtered to surviving spr ids.
|
|
20
|
-
*
|
|
21
|
-
* No geojson, by design. The upstream WOF GeoJSON bodies live ONLY in the raw `whosonfirst-data-*`
|
|
22
|
-
* repos; `scripts/build-unified-wof.ts` extracts `wof:population` straight into
|
|
23
|
-
* `place_population` (and the bbox into `spr`) at ingest and never persists a `geojson` table. So
|
|
24
|
-
* the source admin DB carries population in `place_population`, and this builder consumes it
|
|
25
|
-
* directly — there is nothing to extract from, and nothing to drop.
|
|
26
|
-
*
|
|
27
|
-
* The output DB has the resolver-facing schema: `spr`, `names`, `place_population`, plus the
|
|
28
|
-
* `place_search` FTS5 / `place_bbox` R*Tree virtual tables rebuilt against the trimmed row set
|
|
29
|
-
* (both derive purely from `spr` + `names` — see `fts.ts`). That means `WOFSQLitePlaceLookup`
|
|
30
|
-
* opens the slim DB without any code change — it sees a smaller universe, nothing more.
|
|
31
|
-
*
|
|
32
|
-
* Multi-extract inputs (e.g. admin + postcode) are processed in sequence; selected rows accumulate
|
|
33
|
-
* into the single output DB. The postcode extract contributes only postcodes; admin contributes
|
|
34
|
-
* everything else. Empty / missing input paths are skipped (callers pass `""` when a extract, such
|
|
35
|
-
* as a custom postcode DB, isn't built yet).
|
|
36
|
-
*/
|
|
37
|
-
export interface BuildSlimOptions {
|
|
38
|
-
/**
|
|
39
|
-
* Input WOF SQLite distributions. Each should already have spr / names / place_population tables.
|
|
40
|
-
*/
|
|
41
|
-
inputs: string[];
|
|
42
|
-
/**
|
|
43
|
-
* Output path for the slim DB. Will be overwritten if it exists.
|
|
44
|
-
*/
|
|
45
|
-
output: string;
|
|
46
|
-
/**
|
|
47
|
-
* Country codes to keep (ISO 2-letter). Defaults to `["US"]`.
|
|
48
|
-
*/
|
|
49
|
-
countries?: string[];
|
|
50
|
-
/**
|
|
51
|
-
* Cap on the number of localities to keep per country, by descending population.
|
|
52
|
-
*/
|
|
53
|
-
topLocalitiesPerCountry?: number;
|
|
54
|
-
/**
|
|
55
|
-
* Drop the `names` table after the FTS index is built (default false). `place_search` is a self-contained FTS5 (no
|
|
56
|
-
* external `content=`), so once it's built `names` is only the build-time source — the resolver queries
|
|
57
|
-
* `place_search` + `spr` + `place_population` + `coincident_roles` and never reads `names` at runtime. Dropping it is
|
|
58
|
-
* the single biggest size win (~2/3 of the file for a multi-locale build; see #359). A future consumer that needs raw
|
|
59
|
-
* alt-names at runtime should ship a SEPARATE extract rather than re-bloat the hot DB.
|
|
60
|
-
*/
|
|
61
|
-
dropNames?: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Optional progress callback for CLI / test introspection.
|
|
64
|
-
*/
|
|
65
|
-
onProgress?: (phase: SlimBuildPhase, detail: string) => void;
|
|
66
|
-
}
|
|
67
|
-
export type SlimBuildPhase = "init" | "schema" | "country" | "region" | "county" | "locality" | "postcode" | "names" | "place_population" | "coincident_roles" | "place_abbr" | "fts" | "vacuum" | "done";
|
|
68
|
-
export interface BuildSlimResult {
|
|
69
|
-
outputPath: string;
|
|
70
|
-
outputBytes: number;
|
|
71
|
-
rowCounts: {
|
|
72
|
-
spr: number;
|
|
73
|
-
names: number;
|
|
74
|
-
placeSearch: number;
|
|
75
|
-
placeBbox: number;
|
|
76
|
-
placePopulation: number;
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
export declare function buildSlimWOFDatabase(opts: BuildSlimOptions): Promise<BuildSlimResult>;
|
|
80
|
-
//# sourceMappingURL=build-slim.d.ts.map
|
package/out/build-slim.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-slim.d.ts","sourceRoot":"","sources":["../lib/build-slim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAcH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5D;AAED,MAAM,MAAM,cAAc,GACvB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,kBAAkB,GAClB,kBAAkB,GAClB,YAAY,GACZ,KAAK,GACL,QAAQ,GACR,MAAM,CAAA;AAET,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE;QACV,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,MAAM,CAAA;QACjB,eAAe,EAAE,MAAM,CAAA;KACvB,CAAA;CACD;AAwCD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6H3F"}
|
package/out/build-slim.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-slim.js","sourceRoot":"","sources":["../lib/build-slim.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
* @file Pass 3b of the candidate build — the containment sidecar (closure rows + interval labels).
|
|
6
|
-
*/
|
|
7
|
-
import type { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
8
|
-
import type { CandidateDatabase } from "#candidate-schema";
|
|
9
|
-
import type { PlaceAttrs } from "#candidate/place-attrs";
|
|
10
|
-
import type { WOFDatabase } from "#schema";
|
|
11
|
-
/**
|
|
12
|
-
* Pass 3b — the ancestors sidecar: closure rows + interval labels (candidate-ancestors-schema.ts owns the encoding
|
|
13
|
-
* decision and the DAG/absence semantics). Reads the same source `ancestors` table the region stamp reads,
|
|
14
|
-
* denormalizing each edge with the parent's name/key from `attrs`, streamed `ORDER BY id` so the clustered `(spr_id,
|
|
15
|
-
* depth)` insert is sorted — the contiguous-leaves discipline of the candidate table itself.
|
|
16
|
-
*
|
|
17
|
-
* Excluded by policy: self rows, and placetypes outside the containment ladder (continent, empire, …: `placetypeDepth` 0)
|
|
18
|
-
* — they discriminate nothing a consumer of this sidecar checks. An edge to a parent with no current `spr` row has no
|
|
19
|
-
* name to denormalize; it is dropped and counted rather than stored blind.
|
|
20
|
-
*/
|
|
21
|
-
export declare function buildAncestorsSidecar(ctx: {
|
|
22
|
-
src: DatabaseClient<WOFDatabase>;
|
|
23
|
-
out: DatabaseClient<CandidateDatabase>;
|
|
24
|
-
attrs: Map<number, PlaceAttrs>;
|
|
25
|
-
ptID: (pt: string | null) => number;
|
|
26
|
-
progress: (phase: string, message: string) => void;
|
|
27
|
-
}): Promise<{
|
|
28
|
-
ancestorRows: number;
|
|
29
|
-
ancestorPlaces: number;
|
|
30
|
-
intervalPlaces: number;
|
|
31
|
-
}>;
|
|
32
|
-
//# sourceMappingURL=ancestors-sidecar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ancestors-sidecar.d.ts","sourceRoot":"","sources":["../../lib/candidate/ancestors-sidecar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAW9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE;IAChD,GAAG,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IAChC,GAAG,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IACtC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC9B,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAA;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClD,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAqKpF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ancestors-sidecar.js","sourceRoot":"","sources":["../../lib/candidate/ancestors-sidecar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* Typed schema for the candidate gazetteer's ANCESTORS sidecar (`candidate_ancestor` +
|
|
7
|
-
* `candidate_interval`) — the containment lineage the candidate table itself cannot answer, built
|
|
8
|
-
* into the same `candidate.db` by `build-candidate.ts` and read by
|
|
9
|
-
* {@link WOFCandidateTableLookup.ancestors}.
|
|
10
|
-
*
|
|
11
|
-
* ENCODING: closure-lite rows, denormalized — one row per (place, ancestor) edge carrying the
|
|
12
|
-
* parent's placetype, display name and folded key — rather than a fixed-slot id chain on the
|
|
13
|
-
* candidate row. Decided by the two consumers:
|
|
14
|
-
*
|
|
15
|
-
* 1. The admin-coherence check needs the WINNER's chain as (placetype, name) pairs in one probe.
|
|
16
|
-
* A fixed-slot `[id;8]` chain answers with ids, and every id then needs a name lookup the
|
|
17
|
-
* artifact has no per-id table for — up to 8 indirections where the closure row has zero.
|
|
18
|
-
* 2. The account layer needs EVERY candidate under a `name_key` enumerable WITH its chain from
|
|
19
|
-
* one artifact probe ("present-but-outranked, discriminated by containment"). That is the
|
|
20
|
-
* candidate probe (contiguous) followed by one `spr_id`-clustered closure probe per candidate
|
|
21
|
-
* — each a handful of adjacent pages.
|
|
22
|
-
*
|
|
23
|
-
* Denormalizing the parent onto the edge is the same discipline as the candidate table itself:
|
|
24
|
-
* this artifact is read over HTTP byte ranges, where a join to a dimension table scatters page
|
|
25
|
-
* fetches, and a `WITHOUT ROWID` B-tree clustered on `(spr_id, depth)` keeps a whole chain in
|
|
26
|
-
* 1-2 pages. The repeated parent strings are the price of the zero-join read, paid at build time.
|
|
27
|
-
*
|
|
28
|
-
* `depth` is 1 for the NEAREST ancestor (deepest containment tier), increasing outward to the
|
|
29
|
-
* country — the same nearest-first order `ancestry.ts` serves for the FTS backend, so the two
|
|
30
|
-
* backends' `ancestors()` agree by construction. The order within a place is deterministic:
|
|
31
|
-
* containment depth descending (`placetypeDepth`), then ancestor id ascending, capped at
|
|
32
|
-
* {@link MAX_ANCESTOR_DEPTH}. `parent_name_key` is the SHARED {@link normalizeLocalityForKey}
|
|
33
|
-
* fold — the same fold `candidate.name_key` is built with, so a chain entry and a candidate key
|
|
34
|
-
* compare under one normalizer.
|
|
35
|
-
*
|
|
36
|
-
* `candidate_interval` carries pre/post-order labels over the CANONICAL-PARENT FOREST, assigned
|
|
37
|
-
* at build time: `a` contains `d` ⟺ `a.pre <= d.pre AND d.post <= a.post` — O(1) in either
|
|
38
|
-
* direction with no chain scan and no knowledge of either side's tier — and the descendants of
|
|
39
|
-
* `a` are the contiguous range `pre BETWEEN a.pre AND a.post`. Interval labels are classically
|
|
40
|
-
* avoided for their relabel-on-update cost; this database is a sealed read-only artifact rebuilt
|
|
41
|
-
* whole, which is exactly the regime where that cost is void.
|
|
42
|
-
*
|
|
43
|
-
* THE DAG CAVEAT, and the recorded choice: WOF places can carry more than one parent (multiple
|
|
44
|
-
* hierarchies, ambiguous boundaries). `candidate_ancestor` keeps EVERY parent — the closure rows
|
|
45
|
-
* are the complete containment record. A single interval pair can only encode a tree, so the
|
|
46
|
-
* interval forest links each place to ONE canonical parent: its depth-1 edge — the finest
|
|
47
|
-
* containment tier, lowest ancestor id — the same MIN-stability convention the candidate table's
|
|
48
|
-
* `region_id` stamp uses. A containment question about a NON-canonical hierarchy must consult the
|
|
49
|
-
* closure rows; the interval answer for it is `false`, which is why interval verdicts are
|
|
50
|
-
* "contained along the canonical hierarchy", never "not contained at all".
|
|
51
|
-
*
|
|
52
|
-
* ABSENCE SEMANTICS (meaning-of-zero): a place with no `candidate_interval` row has no recorded
|
|
53
|
-
* ancestry in the source (extract-fed postcodes and localities, isolated places, cycle-skipped
|
|
54
|
-
* rows). Absence is UNVERIFIABLE, never a containment verdict.
|
|
55
|
-
*/
|
|
56
|
-
import { type Kysely } from "kysely";
|
|
57
|
-
import type { CandidateDatabase } from "#candidate-schema";
|
|
58
|
-
import type { NameKey } from "#street/normalize";
|
|
59
|
-
/**
|
|
60
|
-
* The deepest chain the sidecar stores per place. WOF containment within the resolvable placetypes (country …
|
|
61
|
-
* microhood) never legitimately exceeds this; anything past it is source noise the build drops (and counts) rather than
|
|
62
|
-
* stores.
|
|
63
|
-
*/
|
|
64
|
-
export declare const MAX_ANCESTOR_DEPTH = 8;
|
|
65
|
-
/**
|
|
66
|
-
* The closure-row table's name — probed with `hasTable` by the reader, so an artifact predating the sidecar degrades to
|
|
67
|
-
* "no ancestors capability" rather than `no such table`.
|
|
68
|
-
*/
|
|
69
|
-
export declare const CANDIDATE_ANCESTOR_TABLE = "candidate_ancestor";
|
|
70
|
-
/**
|
|
71
|
-
* The interval-label table's name — the closure table's seal-time sibling; existence-restricted the same way.
|
|
72
|
-
*/
|
|
73
|
-
export declare const CANDIDATE_INTERVAL_TABLE = "candidate_interval";
|
|
74
|
-
/**
|
|
75
|
-
* One (place, ancestor) edge, denormalized so a chain read is a single clustered probe (no join).
|
|
76
|
-
*/
|
|
77
|
-
export interface CandidateAncestorTable {
|
|
78
|
-
/**
|
|
79
|
-
* WOF id of the place whose chain this row belongs to — the same `spr_id` the candidate table resolves to.
|
|
80
|
-
*/
|
|
81
|
-
spr_id: number;
|
|
82
|
-
/**
|
|
83
|
-
* 1 = nearest ancestor, increasing outward to the country. Deterministic within a place (containment depth
|
|
84
|
-
* descending, then ancestor id ascending), so `(spr_id, depth)` is a stable primary key across rebuilds.
|
|
85
|
-
*/
|
|
86
|
-
depth: number;
|
|
87
|
-
/**
|
|
88
|
-
* WOF id of the ancestor.
|
|
89
|
-
*/
|
|
90
|
-
parent_spr_id: number;
|
|
91
|
-
/**
|
|
92
|
-
* Small int from the shared `placetype_codes` dictionary (the same one the candidate table uses).
|
|
93
|
-
*/
|
|
94
|
-
parent_placetype_id: number;
|
|
95
|
-
/**
|
|
96
|
-
* The ancestor's canonical display name — what {@link Ancestor.name} serves, matching the FTS backend's register.
|
|
97
|
-
*/
|
|
98
|
-
parent_name: string;
|
|
99
|
-
/**
|
|
100
|
-
* The SHARED {@link normalizeLocalityForKey} fold of `parent_name` — comparable against `candidate.name_key` and
|
|
101
|
-
* against a query-side fold under one normalizer, by construction.
|
|
102
|
-
*/
|
|
103
|
-
parent_name_key: NameKey;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Pre/post-order labels over the canonical-parent forest — one row per place WITH recorded ancestry (see the module
|
|
107
|
-
* docstring for absence semantics). `pre < post` always; labels are unique across the artifact.
|
|
108
|
-
*/
|
|
109
|
-
export interface CandidateIntervalTable {
|
|
110
|
-
spr_id: number;
|
|
111
|
-
pre: number;
|
|
112
|
-
post: number;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* The sidecar tables, for a `Kysely` view over the candidate DB. `CandidateDatabase` (candidate-schema.ts) extends
|
|
116
|
-
* this, so the builder's one typed client sees both families.
|
|
117
|
-
*/
|
|
118
|
-
export interface CandidateAncestorsDatabase {
|
|
119
|
-
candidate_ancestor: CandidateAncestorTable;
|
|
120
|
-
candidate_interval: CandidateIntervalTable;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* The `candidate_ancestor` columns in clustered-key order — the first two ARE the primary key, and the builder's
|
|
124
|
-
* positional `INSERT` binds by this order. Keep in sync with {@link CandidateAncestorTable}.
|
|
125
|
-
*/
|
|
126
|
-
export declare const CANDIDATE_ANCESTOR_COLUMNS: readonly ["spr_id", "depth", "parent_spr_id", "parent_placetype_id", "parent_name", "parent_name_key"];
|
|
127
|
-
/**
|
|
128
|
-
* Create the clustered closure table. The builder inserts in `(spr_id, depth)` order so the B-tree leaves are
|
|
129
|
-
* contiguous per place — the byte-range read discipline.
|
|
130
|
-
*/
|
|
131
|
-
export declare function createCandidateAncestorTable(db: Kysely<CandidateDatabase>): Promise<void>;
|
|
132
|
-
/**
|
|
133
|
-
* Create the interval-label table. Small rows probed by primary key — the `WITHOUT ROWID` win case.
|
|
134
|
-
*/
|
|
135
|
-
export declare function createCandidateIntervalTable(db: Kysely<CandidateDatabase>): Promise<void>;
|
|
136
|
-
/**
|
|
137
|
-
* One place's interval label — the shape both sides of a containment comparison read.
|
|
138
|
-
*/
|
|
139
|
-
export interface IntervalLabel {
|
|
140
|
-
pre: number;
|
|
141
|
-
post: number;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Does `outer` contain `inner` along the canonical hierarchy? Reflexive: a place contains itself (containment
|
|
145
|
-
* degenerates to identity, the same reading the admin-coherence check gives a self-match). The shared FUNCTION for
|
|
146
|
-
* every consumer of the labels — a re-derived comparison risks disagreeing at exactly the strict/inclusive boundary
|
|
147
|
-
* this line settles.
|
|
148
|
-
*/
|
|
149
|
-
export declare function intervalContains(outer: IntervalLabel, inner: IntervalLabel): boolean;
|
|
150
|
-
//# sourceMappingURL=candidate-ancestors-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-ancestors-schema.d.ts","sourceRoot":"","sources":["../lib/candidate-ancestors-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAE5D;;GAEG;AACH,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IAC1C,kBAAkB,EAAE,sBAAsB,CAAA;IAC1C,kBAAkB,EAAE,sBAAsB,CAAA;CAC1C;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,wGAO7B,CAAA;AAEV;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/F;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/F;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAEpF"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* Typed schema for the candidate gazetteer's ANCESTORS sidecar (`candidate_ancestor` +
|
|
7
|
-
* `candidate_interval`) — the containment lineage the candidate table itself cannot answer, built
|
|
8
|
-
* into the same `candidate.db` by `build-candidate.ts` and read by
|
|
9
|
-
* {@link WOFCandidateTableLookup.ancestors}.
|
|
10
|
-
*
|
|
11
|
-
* ENCODING: closure-lite rows, denormalized — one row per (place, ancestor) edge carrying the
|
|
12
|
-
* parent's placetype, display name and folded key — rather than a fixed-slot id chain on the
|
|
13
|
-
* candidate row. Decided by the two consumers:
|
|
14
|
-
*
|
|
15
|
-
* 1. The admin-coherence check needs the WINNER's chain as (placetype, name) pairs in one probe.
|
|
16
|
-
* A fixed-slot `[id;8]` chain answers with ids, and every id then needs a name lookup the
|
|
17
|
-
* artifact has no per-id table for — up to 8 indirections where the closure row has zero.
|
|
18
|
-
* 2. The account layer needs EVERY candidate under a `name_key` enumerable WITH its chain from
|
|
19
|
-
* one artifact probe ("present-but-outranked, discriminated by containment"). That is the
|
|
20
|
-
* candidate probe (contiguous) followed by one `spr_id`-clustered closure probe per candidate
|
|
21
|
-
* — each a handful of adjacent pages.
|
|
22
|
-
*
|
|
23
|
-
* Denormalizing the parent onto the edge is the same discipline as the candidate table itself:
|
|
24
|
-
* this artifact is read over HTTP byte ranges, where a join to a dimension table scatters page
|
|
25
|
-
* fetches, and a `WITHOUT ROWID` B-tree clustered on `(spr_id, depth)` keeps a whole chain in
|
|
26
|
-
* 1-2 pages. The repeated parent strings are the price of the zero-join read, paid at build time.
|
|
27
|
-
*
|
|
28
|
-
* `depth` is 1 for the NEAREST ancestor (deepest containment tier), increasing outward to the
|
|
29
|
-
* country — the same nearest-first order `ancestry.ts` serves for the FTS backend, so the two
|
|
30
|
-
* backends' `ancestors()` agree by construction. The order within a place is deterministic:
|
|
31
|
-
* containment depth descending (`placetypeDepth`), then ancestor id ascending, capped at
|
|
32
|
-
* {@link MAX_ANCESTOR_DEPTH}. `parent_name_key` is the SHARED {@link normalizeLocalityForKey}
|
|
33
|
-
* fold — the same fold `candidate.name_key` is built with, so a chain entry and a candidate key
|
|
34
|
-
* compare under one normalizer.
|
|
35
|
-
*
|
|
36
|
-
* `candidate_interval` carries pre/post-order labels over the CANONICAL-PARENT FOREST, assigned
|
|
37
|
-
* at build time: `a` contains `d` ⟺ `a.pre <= d.pre AND d.post <= a.post` — O(1) in either
|
|
38
|
-
* direction with no chain scan and no knowledge of either side's tier — and the descendants of
|
|
39
|
-
* `a` are the contiguous range `pre BETWEEN a.pre AND a.post`. Interval labels are classically
|
|
40
|
-
* avoided for their relabel-on-update cost; this database is a sealed read-only artifact rebuilt
|
|
41
|
-
* whole, which is exactly the regime where that cost is void.
|
|
42
|
-
*
|
|
43
|
-
* THE DAG CAVEAT, and the recorded choice: WOF places can carry more than one parent (multiple
|
|
44
|
-
* hierarchies, ambiguous boundaries). `candidate_ancestor` keeps EVERY parent — the closure rows
|
|
45
|
-
* are the complete containment record. A single interval pair can only encode a tree, so the
|
|
46
|
-
* interval forest links each place to ONE canonical parent: its depth-1 edge — the finest
|
|
47
|
-
* containment tier, lowest ancestor id — the same MIN-stability convention the candidate table's
|
|
48
|
-
* `region_id` stamp uses. A containment question about a NON-canonical hierarchy must consult the
|
|
49
|
-
* closure rows; the interval answer for it is `false`, which is why interval verdicts are
|
|
50
|
-
* "contained along the canonical hierarchy", never "not contained at all".
|
|
51
|
-
*
|
|
52
|
-
* ABSENCE SEMANTICS (meaning-of-zero): a place with no `candidate_interval` row has no recorded
|
|
53
|
-
* ancestry in the source (extract-fed postcodes and localities, isolated places, cycle-skipped
|
|
54
|
-
* rows). Absence is UNVERIFIABLE, never a containment verdict.
|
|
55
|
-
*/
|
|
56
|
-
import { sql } from "kysely";
|
|
57
|
-
/**
|
|
58
|
-
* The deepest chain the sidecar stores per place. WOF containment within the resolvable placetypes (country …
|
|
59
|
-
* microhood) never legitimately exceeds this; anything past it is source noise the build drops (and counts) rather than
|
|
60
|
-
* stores.
|
|
61
|
-
*/
|
|
62
|
-
export const MAX_ANCESTOR_DEPTH = 8;
|
|
63
|
-
/**
|
|
64
|
-
* The closure-row table's name — probed with `hasTable` by the reader, so an artifact predating the sidecar degrades to
|
|
65
|
-
* "no ancestors capability" rather than `no such table`.
|
|
66
|
-
*/
|
|
67
|
-
export const CANDIDATE_ANCESTOR_TABLE = "candidate_ancestor";
|
|
68
|
-
/**
|
|
69
|
-
* The interval-label table's name — the closure table's seal-time sibling; existence-restricted the same way.
|
|
70
|
-
*/
|
|
71
|
-
export const CANDIDATE_INTERVAL_TABLE = "candidate_interval";
|
|
72
|
-
/**
|
|
73
|
-
* The `candidate_ancestor` columns in clustered-key order — the first two ARE the primary key, and the builder's
|
|
74
|
-
* positional `INSERT` binds by this order. Keep in sync with {@link CandidateAncestorTable}.
|
|
75
|
-
*/
|
|
76
|
-
export const CANDIDATE_ANCESTOR_COLUMNS = [
|
|
77
|
-
"spr_id",
|
|
78
|
-
"depth",
|
|
79
|
-
"parent_spr_id",
|
|
80
|
-
"parent_placetype_id",
|
|
81
|
-
"parent_name",
|
|
82
|
-
"parent_name_key",
|
|
83
|
-
];
|
|
84
|
-
/**
|
|
85
|
-
* Create the clustered closure table. The builder inserts in `(spr_id, depth)` order so the B-tree leaves are
|
|
86
|
-
* contiguous per place — the byte-range read discipline.
|
|
87
|
-
*/
|
|
88
|
-
export async function createCandidateAncestorTable(db) {
|
|
89
|
-
await db.schema
|
|
90
|
-
.createTable(CANDIDATE_ANCESTOR_TABLE)
|
|
91
|
-
.addColumn("spr_id", "integer", (c) => c.notNull())
|
|
92
|
-
.addColumn("depth", "integer", (c) => c.notNull())
|
|
93
|
-
.addColumn("parent_spr_id", "integer", (c) => c.notNull())
|
|
94
|
-
.addColumn("parent_placetype_id", "integer", (c) => c.notNull())
|
|
95
|
-
.addColumn("parent_name", "text", (c) => c.notNull())
|
|
96
|
-
.addColumn("parent_name_key", "text", (c) => c.notNull())
|
|
97
|
-
.addPrimaryKeyConstraint("candidate_ancestor_pk", ["spr_id", "depth"])
|
|
98
|
-
// `WITHOUT ROWID` has no first-class builder; the raw modifier is the idiomatic fallback.
|
|
99
|
-
.modifyEnd(sql `without rowid`)
|
|
100
|
-
.execute();
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Create the interval-label table. Small rows probed by primary key — the `WITHOUT ROWID` win case.
|
|
104
|
-
*/
|
|
105
|
-
export async function createCandidateIntervalTable(db) {
|
|
106
|
-
await db.schema
|
|
107
|
-
.createTable(CANDIDATE_INTERVAL_TABLE)
|
|
108
|
-
.addColumn("spr_id", "integer", (c) => c.primaryKey())
|
|
109
|
-
.addColumn("pre", "integer", (c) => c.notNull())
|
|
110
|
-
.addColumn("post", "integer", (c) => c.notNull())
|
|
111
|
-
.modifyEnd(sql `without rowid`)
|
|
112
|
-
.execute();
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Does `outer` contain `inner` along the canonical hierarchy? Reflexive: a place contains itself (containment
|
|
116
|
-
* degenerates to identity, the same reading the admin-coherence check gives a self-match). The shared FUNCTION for
|
|
117
|
-
* every consumer of the labels — a re-derived comparison risks disagreeing at exactly the strict/inclusive boundary
|
|
118
|
-
* this line settles.
|
|
119
|
-
*/
|
|
120
|
-
export function intervalContains(outer, inner) {
|
|
121
|
-
return outer.pre <= inner.pre && inner.post <= outer.post;
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=candidate-ancestors-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-ancestors-schema.js","sourceRoot":"","sources":["../lib/candidate-ancestors-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,EAAE,GAAG,EAAe,MAAM,QAAQ,CAAA;AAQzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAA;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAA;AAqD5D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACzC,QAAQ;IACR,OAAO;IACP,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,iBAAiB;CACR,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EAA6B;IAC/E,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,wBAAwB,CAAC;SACrC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAClD,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACzD,SAAS,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/D,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACxD,uBAAuB,CAAC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtE,0FAA0F;SACzF,SAAS,CAAC,GAAG,CAAA,eAAe,CAAC;SAC7B,OAAO,EAAE,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EAA6B;IAC/E,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,wBAAwB,CAAC;SACrC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SACrD,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/C,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChD,SAAS,CAAC,GAAG,CAAA,eAAe,CAAC;SAC7B,OAAO,EAAE,CAAA;AACZ,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,KAAoB;IAC1E,OAAO,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;AAC1D,CAAC"}
|
package/out/candidate-fts.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* FTS5-TRIGRAM fuzzy index over the candidate gazetteer's `name_key` — the typo-tolerant fallback
|
|
7
|
-
* the exact `name_key` B-tree probe structurally can't do (a misspelling breaks the normalized
|
|
8
|
-
* key, so the contiguous-probe lookup returns nothing). It indexes the NORMALIZED key (not the
|
|
9
|
-
* raw `name`), so a diacritic-stripped query (`munchen`) trigram-matches the stored `munchen`
|
|
10
|
-
* rather than missing a raw `München`. The trigram tokenizer makes MATCH a substring/fuzzy
|
|
11
|
-
* operation; the reader ({@link WOFCandidateTableLookup}) OR's the query's trigrams to fetch a
|
|
12
|
-
* loose set, then re-ranks it with a WORD-level similarity. The trigram index is the candidate
|
|
13
|
-
* GENERATOR, not the scorer — trigram Jaccard scores a true transposition correction BELOW a wrong
|
|
14
|
-
* answer, because shared generic suffixes count as evidence and transpositions count against it.
|
|
15
|
-
* The receipts are on `candidate-lookup.ts`'s `FUZZY_FETCH` and `WORD_FUZZY_MIN`.
|
|
16
|
-
*
|
|
17
|
-
* This is what unifies the two gazetteers: the candidate B-tree stays the common,
|
|
18
|
-
* byte-range-optimal fast path (the browser's contiguous probe), and FTS5 is consulted ONLY on an
|
|
19
|
-
* exact+strip miss — so its scattered postings cost is rare/amortized, and one DB serves both the
|
|
20
|
-
* browser and the server.
|
|
21
|
-
*
|
|
22
|
-
* Raw SQL on purpose: Kysely can't express `CREATE VIRTUAL TABLE … USING fts5` (the repo's
|
|
23
|
-
* FTS5-stays-raw rule). Indexing DISTINCT `name_key` keeps the index to unique normalized forms
|
|
24
|
-
* (a name_key fans out to many candidate rows — placetypes, regions, aliases — but the fuzzy
|
|
25
|
-
* fallback only needs to recover the name_key, then re-probes the B-tree for its rows).
|
|
26
|
-
*/
|
|
27
|
-
import type { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
28
|
-
/**
|
|
29
|
-
* Name of the FTS5 trigram virtual table this module owns. The reader conditions its fuzzy fallback on it.
|
|
30
|
-
*/
|
|
31
|
-
export declare const CANDIDATE_FTS_TABLE = "candidate_fts";
|
|
32
|
-
/**
|
|
33
|
-
* Build (or rebuild) {@link CANDIDATE_FTS_TABLE} from the materialized `candidate` table. Call after the candidate
|
|
34
|
-
* B-tree is populated (build pipeline) or against an existing candidate DB (migration).
|
|
35
|
-
*/
|
|
36
|
-
export declare function createCandidateFTS<DB>(db: DatabaseClient<DB>): void;
|
|
37
|
-
//# sourceMappingURL=candidate-fts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-fts.d.ts","sourceRoot":"","sources":["../lib/candidate-fts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAA;AAElD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAOnE"}
|
package/out/candidate-fts.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* FTS5-TRIGRAM fuzzy index over the candidate gazetteer's `name_key` — the typo-tolerant fallback
|
|
7
|
-
* the exact `name_key` B-tree probe structurally can't do (a misspelling breaks the normalized
|
|
8
|
-
* key, so the contiguous-probe lookup returns nothing). It indexes the NORMALIZED key (not the
|
|
9
|
-
* raw `name`), so a diacritic-stripped query (`munchen`) trigram-matches the stored `munchen`
|
|
10
|
-
* rather than missing a raw `München`. The trigram tokenizer makes MATCH a substring/fuzzy
|
|
11
|
-
* operation; the reader ({@link WOFCandidateTableLookup}) OR's the query's trigrams to fetch a
|
|
12
|
-
* loose set, then re-ranks it with a WORD-level similarity. The trigram index is the candidate
|
|
13
|
-
* GENERATOR, not the scorer — trigram Jaccard scores a true transposition correction BELOW a wrong
|
|
14
|
-
* answer, because shared generic suffixes count as evidence and transpositions count against it.
|
|
15
|
-
* The receipts are on `candidate-lookup.ts`'s `FUZZY_FETCH` and `WORD_FUZZY_MIN`.
|
|
16
|
-
*
|
|
17
|
-
* This is what unifies the two gazetteers: the candidate B-tree stays the common,
|
|
18
|
-
* byte-range-optimal fast path (the browser's contiguous probe), and FTS5 is consulted ONLY on an
|
|
19
|
-
* exact+strip miss — so its scattered postings cost is rare/amortized, and one DB serves both the
|
|
20
|
-
* browser and the server.
|
|
21
|
-
*
|
|
22
|
-
* Raw SQL on purpose: Kysely can't express `CREATE VIRTUAL TABLE … USING fts5` (the repo's
|
|
23
|
-
* FTS5-stays-raw rule). Indexing DISTINCT `name_key` keeps the index to unique normalized forms
|
|
24
|
-
* (a name_key fans out to many candidate rows — placetypes, regions, aliases — but the fuzzy
|
|
25
|
-
* fallback only needs to recover the name_key, then re-probes the B-tree for its rows).
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* Name of the FTS5 trigram virtual table this module owns. The reader conditions its fuzzy fallback on it.
|
|
29
|
-
*/
|
|
30
|
-
export const CANDIDATE_FTS_TABLE = "candidate_fts";
|
|
31
|
-
/**
|
|
32
|
-
* Build (or rebuild) {@link CANDIDATE_FTS_TABLE} from the materialized `candidate` table. Call after the candidate
|
|
33
|
-
* B-tree is populated (build pipeline) or against an existing candidate DB (migration).
|
|
34
|
-
*/
|
|
35
|
-
export function createCandidateFTS(db) {
|
|
36
|
-
db.exec(`DROP TABLE IF EXISTS ${CANDIDATE_FTS_TABLE}`);
|
|
37
|
-
db.exec(`CREATE VIRTUAL TABLE ${CANDIDATE_FTS_TABLE} USING fts5(name_key, tokenize='trigram')`);
|
|
38
|
-
db.exec(`INSERT INTO ${CANDIDATE_FTS_TABLE}(name_key) SELECT DISTINCT name_key FROM candidate WHERE name_key IS NOT NULL`);
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=candidate-fts.js.map
|
package/out/candidate-fts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"candidate-fts.js","sourceRoot":"","sources":["../lib/candidate-fts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAA;AAElD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAK,EAAsB;IAC5D,EAAE,CAAC,IAAI,CAAC,wBAAwB,mBAAmB,EAAE,CAAC,CAAA;IACtD,EAAE,CAAC,IAAI,CAAC,wBAAwB,mBAAmB,2CAA2C,CAAC,CAAA;IAE/F,EAAE,CAAC,IAAI,CACN,eAAe,mBAAmB,+EAA+E,CACjH,CAAA;AACF,CAAC"}
|