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
This commit is contained in:
		@@ -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}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user