Pereiti prie turinio

MySQL MATCH AGAINST problema


Rekomenduojami pranešimai

Sveiki,

 

Susiduriau su tokia problema, turu uzklausa:

 

SELECT t_id FROM tree WHERE MATCH (title,menutitle) AGAINST ("+no-spa*" IN BOOLEAN MODE)

 

Skirta paieskai, siuo konkreciu atveju randa rezultatus visus kur yra zodziuose spa, taciau man reiktu kad rastu konkretu zodi no-spa.

 

Kiek pavyko issiaiskinti, tai mysql - zenkla traktuoja kaip tarpa ir jiesko dvieju skirtingu zodziu no ir spa.

 

Gal zinot koki buda kaip isspresti problema, nes dabar paieska blogai veikia tik tokiu atveju kai zodziuose panaudojamas - zenklas.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jeigu konkrečiai šito žodžio reikia, tai kam tau naudoti MATCH AGAINST (sprendžiant iš laukų pavadinimų tai pas tave meniu item'ai kažkokie?)? Tai brangi operacija. Aišku ir kitos panašios nepigios, bet vis gi, geriau tada panaudok paprasta

REGEXP '.+no-spa.*'

arba

LIKE '%no-spa%'

. Ar aš čia tikslų nesuprantu ir čia fulltext?

Redagavo vitalikaz
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jeigu konkrečiai šito žodžio reikia, tai kam tau naudoti MATCH AGAINST (sprendžiant iš laukų pavadinimų tai pas tave meniu item'ai kažkokie?)? Tai brangi operacija. Aišku ir kitos panašios nepigios, bet vis gi, geriau tada panaudok paprasta

REGEXP '.+no-spa.*'

arba

LIKE '%no-spa%'

. Ar aš čia tikslų nesuprantu ir čia fulltext?

 

Paieska yra universali, turi rasti visus variajntus, jeigu tai butu tik zodzio dalis, arba rasti zodi jeigu paieska buvo atlika be leituvybes o zodyje yra ir t.t. Kaip jau paminejau viska veikia idealiai jeigu ne tas - kuris tiesiog sukarpo ieksoma zodi ir viska sugadina

 

 

varijantas su mysql perkompiliavimu netinka

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Skaitom iki galo :) "sql does not get confused by dash marks if it's wrapped in quotes as a string, which I'm assuming his data is: a string type."

 

Maciau sita uzrasa, bet to padaryti nepavyko

 

SELECT count(*) FROM tree WHERE MATCH (title,menutitle) AGAINST ("+no-spa*" IN BOOLEAN MODE)

count(*)

121

 

SELECT count(*) FROM tree WHERE MATCH (title,menutitle) AGAINST ('+"no-spa"*' IN BOOLEAN MODE)

count(*)

0

 

SELECT count(*) FROM tree WHERE MATCH (title,menutitle) AGAINST ("+\"no-spa\"*" IN BOOLEAN MODE)

count(*)

0

 

Gal as tiesiog nebesuprantu kur uzdet, bet kiek varijantu bebandziau man rezultatas toks pats

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...