mastodon/app/models
Eugen Rochko 8fdff2748f
Add more accurate account search (#11537)
* Add more accurate account search

When ElasticSearch is available, a more accurate search is implemented:

- Using edge n-gram index for acct and display name
- Using asciifolding and cjk width normalization on display names
- Using Gaussian decay on account activity for additional scoring (recency)
- Using followers/friends ratio for additional scoring (spamminess)
- Using followers number for additional scoring (size)

The exact match precedence only takes effect when the input conforms
to the username format and the username part of it is complete, i.e.
when the user started typing the domain part.

* Support single-letter usernames

* Fix tests

* Fix not picking up account updates

* Add weights and normalization for scores, skip zero terms queries

* Use local counts for accounts index, adjust search parameters

* Fix mistakes

* Using updated_at of accounts is inadequate for remote accounts
2019-08-16 01:24:03 +02:00
..
admin Fix option to send e-mail notification about account action always being true (#11242) 2019-07-06 13:54:32 +02:00
concerns Include max image dimensions in error (#11552) 2019-08-15 20:20:20 +02:00
form Add trends UI with admin and user settings (#11502) 2019-08-06 17:57:52 +02:00
web Do no retry web push workers if the server returns a 4xx response (#9434) 2018-12-17 03:14:13 +01:00
account.rb Add more accurate account search (#11537) 2019-08-16 01:24:03 +02:00
account_conversation.rb Fix crash when conversations have no valid participants (#10078) 2019-02-19 20:00:41 +01:00
account_domain_block.rb Fix crash when saving invalid domain name (#11528) 2019-08-08 23:04:19 +02:00
account_filter.rb Add moderation API (#9387) 2019-06-20 02:52:34 +02:00
account_identity_proof.rb Fix Keybase verification using wrong domain for remote accounts (#10547) 2019-04-10 20:28:43 +02:00
account_moderation_note.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
account_pin.rb Add API endpoint to list featured accounts (fixes #8315) (#8317) 2018-08-20 18:46:04 +02:00
account_stat.rb Add more accurate account search (#11537) 2019-08-16 01:24:03 +02:00
account_tag_stat.rb Add profile directory (#9427) 2018-12-06 17:36:11 +01:00
account_warning.rb Add moderation warnings (#9519) 2018-12-22 20:02:09 +01:00
account_warning_preset.rb Add moderation warnings (#9519) 2018-12-22 20:02:09 +01:00
admin.rb Add logging of admin actions (#5757) 2017-11-24 02:05:53 +01:00
application_record.rb Change admin UI for hashtags and add back whitelisted trends (#11490) 2019-08-05 19:54:29 +02:00
backup.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
block.rb Store URIs of follows, follow requests and blocks for ActivityPub (#7160) 2018-05-04 21:14:34 +02:00
context.rb Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl (#4090) 2017-07-07 04:02:06 +02:00
conversation.rb Revert "Remove conversation URI (#11423)" (#11424) 2019-07-28 17:47:37 +02:00
conversation_mute.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
custom_emoji.rb Add GIF and WebP support for custom emojis (#11519) 2019-08-08 23:03:09 +02:00
custom_emoji_category.rb Add categories for custom emojis (#11196) 2019-06-28 15:54:10 +02:00
custom_emoji_filter.rb Make custom emoji domains case insensitive #9351 (#9474) 2018-12-11 05:30:57 +01:00
custom_filter.rb Fix expiration date of filters being set to “Never” when editing them (#11204) 2019-06-30 16:11:21 +02:00
domain_allow.rb Fix crash when saving invalid domain name (#11528) 2019-08-08 23:04:19 +02:00
domain_block.rb Fix crash when saving invalid domain name (#11528) 2019-08-08 23:04:19 +02:00
email_domain_block.rb Fix crash when saving invalid domain name (#11528) 2019-08-08 23:04:19 +02:00
export.rb Export and import show_reblogs together with following list (#10495) 2019-04-08 07:28:27 +02:00
favourite.rb Fix error when trying to update counters for statuses that are gone (#8251) 2018-08-18 03:03:23 +02:00
featured_tag.rb Fix featured tags not finding the right tag on save (#11504) 2019-08-07 10:00:58 +02:00
feed.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
follow.rb Extract counters from accounts table to account_stats table (#9295) 2018-11-19 00:43:52 +01:00
follow_request.rb Fix MergeWorker being queued for remote users (#10355) 2019-03-24 12:36:26 +01:00
home_feed.rb Support min_id-based pagination in REST API (#8736) 2018-09-28 02:23:45 +02:00
identity.rb Change identities id column to a bigint (#9371) 2018-11-27 13:56:25 +01:00
import.rb Add option to overwrite imported data (#9962) 2019-02-03 03:59:51 +01:00
instance.rb Add whitelist mode (#11291) 2019-07-30 11:10:46 +02:00
instance_filter.rb Add whitelist mode (#11291) 2019-07-30 11:10:46 +02:00
invite.rb Fix invites not being disabled upon account suspension (#11412) 2019-07-26 18:55:33 +02:00
invite_filter.rb Add invite filter (#5862) 2017-12-01 16:40:02 +01:00
list.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
list_account.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
list_feed.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
media_attachment.rb Remove timestamps from converted images to make them deterministic (#11408) 2019-07-27 04:41:55 +02:00
mention.rb Improve support for aspects/circles (#8950) 2018-10-17 17:13:04 +02:00
mute.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
notification.rb Add `account_id` param to `GET /api/v1/notifications` (#10796) 2019-05-21 13:28:49 +02:00
poll.rb Add support for custom emojis in poll options (#10322) 2019-03-20 17:29:12 +01:00
poll_vote.rb Add optimistic lock to avoid race conditions when handling votes (#10196) 2019-03-06 19:53:57 +01:00
preview_card.rb Add WebP support (#9879) 2019-02-02 12:25:04 +01:00
relay.rb Fix relay enabling/disabling not resetting inbox availability status (#10048) 2019-02-15 16:08:59 +01:00
remote_follow.rb Fix acct URIs with IDN domains not being resolved (#11520) 2019-08-07 21:14:08 +02:00
report.rb Add moderation API (#9387) 2019-06-20 02:52:34 +02:00
report_filter.rb Add moderation API (#9387) 2019-06-20 02:52:34 +02:00
report_note.rb Fix scope latest of ReportNote (#9630) 2018-12-26 06:38:59 +01:00
scheduled_status.rb Fix deleting a scheduled status immediately deleting media attachments (#9728) 2019-01-06 16:38:40 +01:00
search.rb Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl (#4090) 2017-07-07 04:02:06 +02:00
session_activation.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
setting.rb Remove intermediary arrays when creating hash maps from results (#9291) 2018-11-16 15:02:18 +01:00
site_upload.rb Improvements to image upload validation and creation (#10431) 2019-04-01 07:30:46 +02:00
status.rb Fix Status.remote scope matching *all* statuses (#11265) 2019-07-08 18:17:22 +02:00
status_pin.rb Update dependencies for Ruby (2018-04-23) (#7237) 2018-04-23 11:29:17 +02:00
status_stat.rb Reset status cache when status_stat or media_attachment updates (#9119) 2018-10-28 06:42:34 +01:00
tag.rb Fix trending tags returning less items than requested sometimes (#11513) 2019-08-07 17:08:30 +02:00
tombstone.rb Record deleted(by mod) status to prevent re-appear (#10732) 2019-05-09 22:03:02 +02:00
trending_tags.rb Fix weekly usage not being displayed correctly in hashtag admin UI (#11524) 2019-08-08 23:03:28 +02:00
user.rb Add trends UI with admin and user settings (#11502) 2019-08-06 17:57:52 +02:00
user_invite_request.rb Add "why do you want to join" field to invite requests (#10524) 2019-04-09 23:06:30 +09:00
web.rb Add extended about page stub 2017-01-13 03:24:41 +01:00