SQL Server FREETEXTTABLE запрос к mySQL
У меня есть проект Django, который ранее использовал базу данных Sql Server. Теперь мне нужно адаптировать его для mySQL.
Я пытаюсь реализовать и найти эквивалент для этого сырого sql с помощью FREETEXTTABLE.
Если кто-нибудь может указать мне правильное направление в отношении какой-либо документации, я буду очень признателен.
Оригинальный необработанный запрос SQL Server
sql = "select c.myKey, b.[KEY], b.RANK, a.article_appendix, c.article_appendix as article, c.title_en as t1_en, c.title_fr as t1_fr, a.title_en as t2_en, a.title_fr as t2_fr from [myapp_collectiveagreementsubarticle] a inner join (SELECT * FROM FREETEXTTABLE ([myapp_collectiveagreementsubarticle], ([content_en]), " + search2 + ")) b on a.myKey = b.[KEY] inner join [myapp_collectiveagreement] c on a.articleKey_id = c.myKey order by b.RANK desc"
searchResult = Collectiveagreement.objects.raw(sql)
Попробуйте
from django.db import connection
search_term = '+your_search_term'
sql = """
SELECT
c.myKey,
b.myKey as KEY,
b.score,
a.article_appendix,
c.article_appendix as article,
c.title_en as t1_en,
c.title_fr as t1_fr,
a.title_en as t2_en,
a.title_fr as t2_fr
FROM
myapp_collectiveagreementsubarticle a
INNER JOIN (
SELECT
myKey,
MATCH(content_en) AGAINST(%s IN BOOLEAN MODE) as score
FROM
myapp_collectiveagreementsubarticle
WHERE
MATCH(content_en) AGAINST(%s IN BOOLEAN MODE)
) b ON a.myKey = b.myKey
INNER JOIN
myapp_collectiveagreement c ON a.articleKey_id = c.myKey
ORDER BY
b.score DESC;
"""
with connection.cursor() as cursor:
cursor.execute(sql, [search_term, search_term])
searchResult = cursor.fetchall()