SQLAlchemy поиск по фразе

Подскажите как правильно организовать поиск через SQLAlchemy в Mysql 5.7. Flask.

Раньше запрос был вида:

class Article(Base):
    __tablename__ = 'article'

    id = Column(INTEGER(11), primary_key=True)
    date_time = Column(INTEGER(11))
    out = Column(LONGTEXT)
    book_id = Column(ForeignKey('Books.book_id'), index=True)

    book = relationship('Book')

self.session.query(models.Books).join(models.Article).filter(models.Article.out.like(search_query)).all()

потом когда таблица Article выросла до 20 миллионов строк поиск стал жукто тормозить, поставил индексы на Article.out

ALTER TABLE Article ADD FULLTEXT INDEX idx_article_out(`out`);

После этого перестал работать поиск по фразе когда в поиск вводишь запрос "Learn More" SQLAlchemy отдает все найденный записи либо по слову "Learn" либо по "More" но не как ответы по целой фразе "Learn More".

Теперь не совсем пойму как все таки правильно осуществлять поисковые запрос через SQLAlchemy когда кол-во записей в таблице больше 10 миллионов строк. везде пишут что индексы


Ответы (0 шт):