forgejo/modules
Jason Song 9958642502
Fix issues indexer document mapping (#25619)
Fix regression of #5363 (so long ago).

The old code definded a document mapping for `issueIndexerDocType`, and
assigned it to `BleveIndexerData` as its type. (`BleveIndexerData` has
been renamed to `IndexerData` in #25174, but nothing more.) But the old
code never used `BleveIndexerData`, it wrote the index with an anonymous
struct type. Nonetheless, bleve would use the default auto-mapping for
struct it didn't know, so the indexer still worked. This means the
custom document mapping was always dead code.

The custom document mapping is not useless, it can reduce index storage,
this PR brings it back and disable default mapping to prevent it from
happening again. Since `IndexerData`(`BleveIndexerData`) has JSON tags,
and bleve uses them first, so we should use `repo_id` as the field name
instead of `RepoID`.

I did a test to compare the storage size before and after this, with
about 3k real comments that were migrated from some public repos.

Before:

```text
[ 160]  .
├── [  42]  index_meta.json
├── [  13]  rupture_meta.json
└── [ 128]  store
    ├── [6.9M]  00000000005d.zap
    └── [256K]  root.bolt
```

After:

```text
[ 160]  .
├── [  42]  index_meta.json
├── [  13]  rupture_meta.json
└── [ 128]  store
    ├── [3.5M]  000000000065.zap
    └── [256K]  root.bolt
```

It saves about half the storage space.

---------

Co-authored-by: Giteabot <teabot@gitea.io>
2023-07-04 09:05:28 +00:00
..
actions Support downloading raw task logs (#24451) 2023-06-29 10:58:56 +08:00
activitypub
analyze
assetfs
auth
avatar
base Update octicons and use octicon-file-directory-symlink (#25453) 2023-06-22 22:05:52 +00:00
cache
charset
container
context Sync branches into databases (#22743) 2023-06-29 10:03:20 +00:00
csv
doctor Refactor path & config system (#25330) 2023-06-21 13:50:26 +08:00
emoji Update emoji set to Unicode 15 (#25595) 2023-06-29 16:29:48 +00:00
eventsource
generate
git Fix index generation parallelly failure (#25235) 2023-06-15 02:14:43 +02:00
gitgraph
graceful Improve queue and logger context (#24924) 2023-05-26 07:31:55 +00:00
hcaptcha
highlight
hostmatcher
html
httpcache
httplib Use fetch to send requests to create issues/comments (#25258) 2023-06-16 06:32:43 +00:00
indexer Fix issues indexer document mapping (#25619) 2023-07-04 09:05:28 +00:00
issue/template
json
label
lfs Rewrite logger system (#24726) 2023-05-21 22:35:11 +00:00
log Fix sub-command log level (#25537) 2023-06-28 08:02:06 +02:00
markup Refactor path & config system (#25330) 2023-06-21 13:50:26 +08:00
mcaptcha
metrics Use a separate admin page to show global stats, remove actions stat (#25062) 2023-06-03 22:03:41 +08:00
migration
mirror Improve queue and logger context (#24924) 2023-05-26 07:31:55 +00:00
nosql
notification Add Adopt repository event and handler (#25497) 2023-06-26 06:59:15 +00:00
options
packages Add direct serving of package content (#25543) 2023-07-03 15:33:28 +02:00
paginator
pprof
private Use the type RefName for all the needed places and fix pull mirror sync bugs (#24634) 2023-05-26 01:04:48 +00:00
process Do not output "Trace" level logs from process manager by default (#24952) 2023-05-27 10:55:24 +00:00
proxy
proxyprotocol
public
queue Help to recover from corrupted levelqueue (#24912) 2023-05-29 10:52:32 +08:00
recaptcha
references
regexplru
repository Fix branch commit message too long problem (#25588) 2023-06-30 17:03:05 +08:00
secret
session
setting Set SSH_AUTHORIZED_KEYS_BACKUP to false (#25412) 2023-07-01 04:07:48 +00:00
sitemap
ssh Refactor path & config system (#25330) 2023-06-21 13:50:26 +08:00
storage Fix all possible setting error related storages and added some tests (#23911) 2023-06-14 11:42:38 +08:00
structs Add API for changing Avatars (#25369) 2023-06-29 23:22:55 +00:00
svg Use inline SVG for built-in OAuth providers (#25171) 2023-06-13 10:51:02 +00:00
sync
system
templates Fix missing commit message body when the message has leading newlines (#25418) 2023-06-21 09:14:34 +00:00
test Refactor web package and context package (#25298) 2023-06-18 09:59:09 +02:00
testlogger Refactor path & config system (#25330) 2023-06-21 13:50:26 +08:00
timeutil
translation Refactor INI package (first step) (#25024) 2023-06-02 17:27:30 +08:00
turnstile
typesniffer
updatechecker
upload
uri
user
util Store and use seconds for timeline time comments (#25392) 2023-06-23 12:12:39 +00:00
validation
web Refactor web package and context package (#25298) 2023-06-18 09:59:09 +02:00
webhook New webhook trigger for receiving Pull Request review requests (#24481) 2023-05-24 22:06:27 -04:00