mastodon/app/services
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
..
activitypub Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
concerns Add whitelist mode (#11291) 2019-07-30 11:10:46 +02:00
account_search_service.rb Add more accurate account search (#11537) 2019-08-16 01:24:03 +02:00
after_block_domain_from_account_service.rb Change account domain block to clear out notifications and follows (#11393) 2019-07-25 04:17:35 +02:00
after_block_service.rb Change account domain block to clear out notifications and follows (#11393) 2019-07-25 04:17:35 +02:00
app_sign_up_service.rb Admission-based registrations mode (#10250) 2019-03-14 05:28:30 +01:00
authorize_follow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
backup_service.rb Fix BackupService crashing when an attachment is missing (#11241) 2019-07-08 02:24:25 +02:00
base_service.rb Remove unused AtomBuilderHelper (#1364) 2017-04-11 19:31:22 +02:00
batched_remove_status_service.rb Fix non-lowercase hashtags not being picked up by the streaming API (#11508) 2019-08-07 10:01:19 +02:00
block_domain_service.rb Add domain block notes (#11515) 2019-08-07 20:20:23 +02:00
block_service.rb Fix BlockService trying to reject incorrect follow request (#11288) 2019-07-11 14:50:27 +02:00
bootstrap_timeline_service.rb Add autofollow option to invites (#7805) 2018-06-15 18:00:23 +02:00
fan_out_on_write_service.rb Fix non-lowercase hashtags not being picked up by the streaming API (#11508) 2019-08-07 10:01:19 +02:00
favourite_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
fetch_link_card_service.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
fetch_oembed_service.rb Fix undefined method error in sidekiq (#9807) 2019-01-14 17:28:41 +01:00
fetch_remote_account_service.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
fetch_remote_status_service.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
fetch_resource_service.rb Add HTTP signatures to all outgoing ActivityPub GET requests (#11284) 2019-07-11 14:49:55 +02:00
follow_service.rb Change account domain block to clear out notifications and follows (#11393) 2019-07-25 04:17:35 +02:00
hashtag_query_service.rb Change hashtags to preserve first-used casing (#11416) 2019-07-28 05:59:51 +02:00
import_service.rb Export and import show_reblogs together with following list (#10495) 2019-04-08 07:28:27 +02:00
mute_service.rb Add conversations API (#8832) 2018-10-07 23:44:58 +02:00
notify_service.rb Fix poll update handler calling method was that was not available (#10246) 2019-03-12 22:58:59 +01:00
post_status_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
precompute_feed_service.rb Fix code style of regeneration-related code (#9843) 2019-01-18 01:02:51 +01:00
process_hashtags_service.rb Change hashtags to preserve first-used casing (#11416) 2019-07-28 05:59:51 +02:00
process_mentions_service.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 2019-07-07 16:16:51 +02:00
reblog_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
reject_follow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
remove_status_service.rb Fix non-lowercase hashtags not being picked up by the streaming API (#11508) 2019-08-07 10:01:19 +02:00
report_service.rb Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00
resolve_account_service.rb Fix acct URIs with IDN domains not being resolved (#11520) 2019-08-07 21:14:08 +02:00
resolve_url_service.rb Fix leaking private statuses the admin account follows (#11300) 2019-07-15 02:29:04 +02:00
search_service.rb Add search syntax for operators and phrases (#11411) 2019-07-27 04:42:08 +02:00
suspend_account_service.rb Fix invites not being disabled upon account suspension (#11412) 2019-07-26 18:55:33 +02:00
unallow_domain_service.rb Add whitelist mode (#11291) 2019-07-30 11:10:46 +02:00
unblock_domain_service.rb Add domain block notes (#11515) 2019-08-07 20:20:23 +02:00
unblock_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unfavourite_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unfollow_service.rb Remove Salmon and PubSubHubbub (#11205) 2019-07-06 23:26:16 +02:00
unmute_service.rb Fix #231 - Muting 2017-03-02 18:49:32 +01:00
update_account_service.rb Error message for avatar image that's too large. #9204 (#9518) 2018-12-14 05:07:21 +01:00
verify_link_service.rb Rescue SSL error in verify link service (#9914) 2019-01-24 15:38:18 +01:00
vote_service.rb Refactor all ActivityPub deliveries to be serialized and signed through one concern (#10966) 2019-06-04 23:11:18 +02:00