On 05/06/2016 02:31 AM, Dev Mukherjee wrote:
On Thu, May 5, 2016 at 11:54 PM, Mike Bayer <[email protected]
<mailto:[email protected]>> wrote:
most expedient way would be to use CREATE INDEX and specify it
within DDL():
ddl = DDL("CREATE FULLTEXT INDEX some_idx ON table(colname)")
you can then just invoke it:
conn.execute(ddl)
Ah OK. That will ensure that we don't miss out on creating the indexes.
I did find your post on Stackoverflow answering the same question
http://stackoverflow.com/questions/14971619/proper-use-of-mysql-full-text-search-with-sqlalchemy
Been querying like so
session.query(myapp.models.Customer).filter(text("MATCH(name) AGAINST
(\"[:value]\" IN BOOLEAN MODE)", bindparams=[bindparam("value",
["+Anomaly", "+soft"])])).all()
Can I make this better or this should get me out of trouble for now?
That array value is odd, I'm not sure what that does, if I'm
understanding correctly you can use our own match() operator and just
pass that as one string:
session.query(Customer).filter(Customer.name.match("+Anomaly +soft"))
I can't find in MySQL's docs what the brackets here mean but you can add
those to the literal match value. I've updated the SO answer to include
that for a single column, just use match().
or add it as a table event
event.listen(table, "after_create", ddl)
we can of course add an option to the MySQL dialect to allow
"mysql_fulltext=True" to Index as well.
Would love to see that added to SQLAlchemy :-)
Be possible for you to provide a wrapper for the MATCH and AGAINST
functions as well?
Thanks heaps for sparing your time.
--
You received this message because you are subscribed to the Google
Groups "sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.