SQLAlchemy で like 検索した際のエスケープ

SQLAlchemy で like 検索をしたい時は以下のようにするらしい。
# DB は MySQL

def search(query):
    rows = Session.query(Items).filter(Items.title.like('%\\' + query + '%', escape='\\')).all()
    return rows

バインドしてないのが気になったけど、大丈夫みたいだめくさい…。あとでちゃんと検証する。

SQLAlchemy uses bound parameters by default so that ordinary SQL injections are not possible anymore.

[sqlalchemy] Built-in escape function? - Felix Schwarz - com.googlegroups.sqlalchemy - MarkMail
# foo に前方後方一致するデータがある場合
rows = search(u'foo')

% や _ もエスケープして一致しない。

rows = search(u'%')

ところでお手軽に扱える全文検索エンジンって何が良いんだろう。