Autor | Zpráva | ||
---|---|---|---|
nethor Profil |
#1 · Zasláno: 24. 5. 2011, 15:07:58
Dá se nějak zjednodušit tento dotaz?:
select * from `tabulka` where CONCAT_WS(' ', nadpis , zahlavi , text , sklc ) like 'slovo 1' || CONCAT_WS(' ', nadpis , zahlavi , text , sklc ) like 'slovo 2' || CONCAT_WS(' ', nadpis , zahlavi , text , sklc ) like 'slovo 3' ; Vypisovat stále dokola 'CONCAT_WS(' ', nadpis , zahlavi , text , sklc ) ' mi připadá jako opičárna :-) Nikde se mi to nadaří dohledat. |
||
__construct Profil |
#2 · Zasláno: 24. 5. 2011, 15:13:42 · Upravil/a: __construct
nethor:
Myslím, že lepšie by bolo použitie fulltextového vyhľadávania (Vyžaduje to mať tabuľky MyISAM a nad stĺpcami v ktorých hľadáš kľúče). |
||
laijk Profil |
#3 · Zasláno: 24. 5. 2011, 15:16:34
nedalo by sa to takto?
select * FROM `tabulka` WHERE CONCAT_WS(' ', nadpis , zahlavi , text , sklc ) IN ('slovo 1','slovo 2','slovo 3'); |
||
Batrachus Profil |
#4 · Zasláno: 24. 5. 2011, 15:23:08
Pokud tam přistupuješ přes PHP, tak to můžeš zjednodušit pomocí foreach.
|
||
Tori Profil |
#5 · Zasláno: 24. 5. 2011, 15:38:51 · Upravil/a: Tori
nethor:
Jestli nechcete psát tu funkci xkrát, tak by snad mohlo jít tohle, ale pochybuji, že to bude mít nějaký jiný přínos. select *, CONCAT_WS(' ', `nadpis`, `zahlavi`, `text`, `sklc`) slovo from `tabulka` where slovo like 'slovo 1' || slovo like 'slovo 2' || slovo like 'slovo 3'; |
||
nethor Profil |
#6 · Zasláno: 24. 5. 2011, 16:49:48 · Upravil/a: nethor
__construct:
Fulltext má dost nepříjemná omezení , to už se tady párkrát probíralo. laijk: Něco takového jsem měl na mysli, bohužel to nefunguje - prázdný výsledek. Batrachus: Jasně, používám implode, ale doufal jsem, že to půjde napsat elegantnějším způsobem. Tori: Tohle jsem zkoušel, kupodivu to také nechodí: Unknown column 'slovo' in 'where clause' I když jsem doplnil: ... `sklc`) as slovo ... |
||
__construct Profil |
#7 · Zasláno: 25. 5. 2011, 09:29:51 · Upravil/a: __construct
nethor:
„Fulltext má dost nepříjemná omezení , to už se tady párkrát probíralo.“ Bude Ti v tomto prípade vadiť minimálna dĺžka indexovaného slova, alebo zoznam neindexovaných slov? Používanie LIKE na také hľadanie je „brute-force“. Fulltext je podľa mňa v tomto prípade efektívnejším riešením.
|
||
nethor Profil |
#8 · Zasláno: 25. 5. 2011, 18:52:11
__construct:
„Bude Ti v tomto prípade vadiť minimálna dĺžka indexovaného slova, alebo zoznam neindexovaných slov?“ Obojí. |
||
Časová prodleva: 13 let
|
0