about summary refs log tree commit diff
path: root/app/javascript/mastodon/features/compose/components/search_results.js
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-02-09 23:04:47 +0100
committerGitHub <noreply@github.com>2018-02-09 23:04:47 +0100
commit3ebc0ad4d3c2fe0b0951a334642b769bd521a799 (patch)
tree9b88b2da41dbbc24cb922660937b5ee65366c38d /app/javascript/mastodon/features/compose/components/search_results.js
parent235c14c79d620d47012a08425324df222a136457 (diff)
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
Diffstat (limited to 'app/javascript/mastodon/features/compose/components/search_results.js')
-rw-r--r--app/javascript/mastodon/features/compose/components/search_results.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/javascript/mastodon/features/compose/components/search_results.js b/app/javascript/mastodon/features/compose/components/search_results.js
index d16f7fce7..84455563c 100644
--- a/app/javascript/mastodon/features/compose/components/search_results.js
+++ b/app/javascript/mastodon/features/compose/components/search_results.js
@@ -22,6 +22,8 @@ export default class SearchResults extends ImmutablePureComponent {
       count   += results.get('accounts').size;
       accounts = (
         <div className='search-results__section'>
+          <h5><FormattedMessage id='search_results.accounts' defaultMessage='People' /></h5>
+
           {results.get('accounts').map(accountId => <AccountContainer key={accountId} id={accountId} />)}
         </div>
       );
@@ -31,6 +33,8 @@ export default class SearchResults extends ImmutablePureComponent {
       count   += results.get('statuses').size;
       statuses = (
         <div className='search-results__section'>
+          <h5><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5>
+
           {results.get('statuses').map(statusId => <StatusContainer key={statusId} id={statusId} />)}
         </div>
       );
@@ -40,6 +44,8 @@ export default class SearchResults extends ImmutablePureComponent {
       count += results.get('hashtags').size;
       hashtags = (
         <div className='search-results__section'>
+          <h5><FormattedMessage id='search_results.hashtags' defaultMessage='Hashtags' /></h5>
+
           {results.get('hashtags').map(hashtag => (
             <Link key={hashtag} className='search-results__hashtag' to={`/timelines/tag/${hashtag}`}>
               #{hashtag}