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.

Reply via email to