Commit graph

25 commits

Author SHA1 Message Date
noellabo
bbf0df5a11 search (WIP) 2023-02-06 16:28:37 +09:00
noellabo
91d6b018df Add searchability features 2023-02-06 16:28:35 +09:00
noellabo
8b3ef9cc81 Add full text search for accounts 2023-01-16 12:58:29 +09:00
noellabo
999e361892 Add status reference 2023-01-16 12:58:29 +09:00
noellabo
8ebcbaded3 Bump chewy from 5.2.0 to 7.2.2 2022-05-11 00:48:03 +09:00
noellabo
ae60e0a7d7 Add emoji reaction 2022-05-11 00:48:03 +09:00
noellabo
46d05ea6e8 Fix ES setting for Account Full Text Search 2022-05-11 00:48:02 +09:00
noellabo
176dd499b7 Add account note to search index 2022-05-11 00:48:02 +09:00
noellabo
c6417be067 Add group suggestion 2022-05-11 00:48:02 +09:00
noellabo
40db10417c Set up elasticsearch 7 to use sudachi 2021-08-12 07:10:15 +09:00
noellabo
9fdfc2d8d5 Add account subscribe support to WebUI 2021-08-12 07:08:36 +09:00
noellabo
92a9a23eb6 Add subscribe features 2021-08-12 07:08:36 +09:00
Eugen Rochko
4abe3be321
Change tootctl search deploy algorithm (#14300) 2020-07-14 18:10:35 +02:00
Takeshi Umeda
e6706d171a
Fix searchable status without explicitly mentioning it (#13829) 2020-05-23 05:47:25 +02:00
Takeshi Umeda
5a1fb6efc2
Fix bookmarks also searchable (#13293) 2020-03-22 02:40:03 +01:00
Eugen Rochko
575dc11cb2
Fix needlessly indexing unsearchable statuses into ElasticSearch (#12041) 2019-10-02 20:04:46 +02:00
Eugen Rochko
cc0a55cf9a
Add more accurate hashtag search (#11579)
* Add more accurate hashtag search

Using ElasticSearch to index hashtags with edge n-grams and score
them by usage within the last 7 days since last activity. Only
hashtags that have been reviewed and are listable can appear in
searches, unless they match the query exactly

* Fix search analyzer dropping non-ascii characters
2019-08-18 03:45:51 +02:00
Eugen Rochko
70da6d6630
Fix accounts search by full/partial display name and others (#11580)
- Restrict followers counts to local users to minimize local advantage
- Fix emoji shortcodes causing error in search
- Fix search syntax parse errors not being caught
2019-08-16 13:00:30 +02:00
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
mayaeh
a02f4b7cd4 Fix NameError (#11192) 2019-06-27 09:16:55 +02:00
ThibG
47ef4a6c7a Apply filters to poll options (#11174)
* Apply filters to poll options in WebUI

Fixes #11128

* Apply filters to poll options server-side

* Add poll options to searchable text
2019-06-25 14:45:14 +02:00
Eugen Rochko
e7f20cc43f
Add type, limit, offset, min_id, max_id, account_id to search API (#10091)
* Add type, limit, offset, min_id, max_id, account_id to search API

Fix #8939

* Make the offset work on accounts and hashtags search as well

* Assure brakeman we are not doing mass assignment here

* Do not allow paginating unless a type is chosen

* Fix search query and index id field on statuses instead of created_at
2019-02-26 15:21:36 +01:00
Ben Lubar
309043b158 Improve image description user experience (#10036)
* Add image descriptions to searchable post content.

* Allow multi-line image descriptions.

* Request image descriptions in the same query as posts when creating the search index.

(see https://github.com/tootsuite/mastodon/pull/10036#discussion_r256551624)
2019-02-14 01:04:43 +01:00
Eugen Rochko
28de046b8b
Get rid of Chewy order/limit warning (#8355) 2018-08-22 02:44:56 +02:00
Eugen Rochko
3ebc0ad4d3
Full-text search for authorized statuses (#6423)
* Add full-text search for authorized statuses

- Search API will return statuses that match the query
- Only for logged in users
- Only if you are author of the status,
- Or you were mentioned in it
- Or you favourited or reblogged it
- Configuration over `ES_ENABLED`, `ES_HOST`, `ES_PORT`, `ES_PREFIX`
- Run `rails chewy:deploy` to create & populate index

Fix #5880
Fix #4293
Fix #1152

* Add commented out docker-compose configuration for ES container

* Optimize index import, filter search results

* Add basic normalization to the index

* Add better stemming and normalization to the index

* Skip webfinger request if search query includes both @ and a space

* Fix code style

* Visually separate search result sections

* Fix code style issues
2018-02-09 23:04:47 +01:00