Glitch-Shrike/spec/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
account_search_service_spec.rb Add more accurate account search (#11537) 2019-08-16 01:24:03 +02:00
after_block_domain_from_account_service_spec.rb
after_block_service_spec.rb
app_sign_up_service_spec.rb
authorize_follow_service_spec.rb
batched_remove_status_service_spec.rb Remove WebSub subscriptions (#11303) 2019-07-21 04:08:00 +02:00
block_domain_service_spec.rb
block_service_spec.rb
bootstrap_timeline_service_spec.rb
fan_out_on_write_service_spec.rb
favourite_service_spec.rb
fetch_link_card_service_spec.rb
fetch_oembed_service_spec.rb
fetch_remote_account_service_spec.rb Add ActivityPub actor representing the entire server (#11321) 2019-07-19 01:44:42 +02:00
fetch_remote_status_service_spec.rb
fetch_resource_service_spec.rb Add ActivityPub actor representing the entire server (#11321) 2019-07-19 01:44:42 +02:00
follow_service_spec.rb
hashtag_query_service_spec.rb
import_service_spec.rb
mute_service_spec.rb
notify_service_spec.rb
post_status_service_spec.rb
precompute_feed_service_spec.rb
process_mentions_service_spec.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_spec.rb
reject_follow_service_spec.rb
remove_status_service_spec.rb Remove WebSub subscriptions (#11303) 2019-07-21 04:08:00 +02:00
report_service_spec.rb
resolve_account_service_spec.rb Refactor domain block checks (#11268) 2019-07-09 03:27:35 +02:00
resolve_url_service_spec.rb Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
search_service_spec.rb Add search syntax for operators and phrases (#11411) 2019-07-27 04:42:08 +02:00
suspend_account_service_spec.rb Remove WebSub subscriptions (#11303) 2019-07-21 04:08:00 +02:00
unblock_domain_service_spec.rb Add domain block notes (#11515) 2019-08-07 20:20:23 +02:00
unblock_service_spec.rb
unfollow_service_spec.rb
unmute_service_spec.rb
verify_link_service_spec.rb