ďťż
 
[mysql] Jak =?ISO-8859-2?Q?napisa=E6_wzorzec=3F?= ďťż
 
[mysql] Jak =?ISO-8859-2?Q?napisa=E6_wzorzec=3F?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[mysql] Jak =?ISO-8859-2?Q?napisa=E6_wzorzec=3F?=



Xorock - 10-06-2006 00:03
[mysql] Jak =?ISO-8859-2?Q?napisa=E6_wzorzec=3F?=
  Mam wartości pól:
'ala ma kota'
'kota ma ala'

i szukam teraz wystąpienia słów 'ala' oraz 'kota' w jednym rekordzie.
Jak odpytać bazę aby to otrzymać?
Mogę dać where x like '%ala%' and x like '%kota%' ale może jest jakiś
prostszy i bardziej uniwersalny sposób?





Xorock - 10-06-2006 00:03

  I jeszcze jedno pytanie. Jak zrobić 'back reference' w regexpach?




Xorock - 10-06-2006 00:03

  Ok. Na to sobie odpowiedziałem: regexp '((ala|kota)[+ ]?){x}'
gdzie x to ilość wystąpień słów, w tym wypadku 2.
Jeżeli ktoś jeszcze zna odpowiedź na drugie pytanie będę wdzięczny.




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 10-06-2006 00:03

  Xorock wrote:
> Ok. Na to sobie odpowiedziałem: regexp '((ala|kota)[+ ]?){x}'
> gdzie x to ilość wystąpień słów, w tym wypadku 2.
> Jeżeli ktoś jeszcze zna odpowiedź na drugie pytanie będę wdzięczny.

Ale ten regexp dopasuje Ci dwie ale bez kota....
Pierwsza metoda jest najlepsza. Chyba, że zdecydujesz się uzywać full
text search.

--
P.M.





Xorock - 10-06-2006 00:03

  Paweł Matejski napisał(a):
> Xorock wrote:
>> Ok. Na to sobie odpowiedziałem: regexp '((ala|kota)[+ ]?){x}'
>> gdzie x to ilość wystąpień słów, w tym wypadku 2.
>> Jeżeli ktoś jeszcze zna odpowiedź na drugie pytanie będę wdzięczny.
>
> Ale ten regexp dopasuje Ci dwie ale bez kota....
Tak, wiem. Ponieważ nie będzie tam powtórzeń nie jest to problemem.
> Pierwsza metoda jest najlepsza. Chyba, że zdecydujesz się uzywać full
> text search.
Innodb więc odpada. Poza tym sprawdziłem jak się sprawuje ftext i nie
wypada najlepiej. No i potrzebuje od 4 znaków aby coś w ogóle odszukać.




Przemyslaw Popielarski - 10-06-2006 00:03

  Xorock wrote:
> Poza tym sprawdziłem jak się sprawuje ftext i nie wypada najlepiej.

Bo?

> No i potrzebuje od 4 znaków aby coś w ogóle odszukać.

Przeciez to mozna banalnie latwo zmienic.

--
../ premax
../ premax@hot.pl
../ koniec i bomba, a kto czytal ten traba. w.g.




Xorock - 10-06-2006 00:03

  Przemyslaw Popielarski napisał(a):
> Bo?
Minimum to 4 znaki.

>
> Przeciez to mozna banalnie latwo zmienic.
Banalnie łatwo? Przecież jest wymagana rekonfiguracja serwera i jego
restart. Ani jednego, ani drugiego zrobić nie mogę.

Poza tym jak już mówiłem na innodb nie ma full text search więc
musiałbym przepisywać co jakiś czas dane do tabeli myisam a to mi się
średnio uśmiecha.




Przemyslaw Popielarski - 10-06-2006 00:03

  Xorock wrote:
>> Przeciez to mozna banalnie latwo zmienic.
> Banalnie łatwo? Przecież jest wymagana rekonfiguracja serwera i jego
> restart. Ani jednego, ani drugiego zrobić nie mogę.

Zmiana konfiga i restart to akurat pikus -- bo to trwa 3 do 5 sekund.
Natomiast trzeba zrobic rebuild indeksow, a to juz trwa dluzej. Co nie
znaczy, ze nie jest to do zrobienia. Trzeba bylo sobie nie uruchamiac
niedokonfigurowanej maszyny.

--
../ premax
../ premax@hot.pl
../ koniec i bomba, a kto czytal ten traba. w.g.




Xorock - 10-06-2006 00:03

  Przemyslaw Popielarski napisał(a):
> Zmiana konfiga i restart to akurat pikus -- bo to trwa 3 do 5 sekund.
> Natomiast trzeba zrobic rebuild indeksow, a to juz trwa dluzej. Co nie
> znaczy, ze nie jest to do zrobienia. Trzeba bylo sobie nie uruchamiac
> niedokonfigurowanej maszyny.
>
Hosting współdzielony ;)
Biorę co dają.




keczerad - 10-06-2006 00:03

  Xorock napisał(a):
> Mam wartości pól:
> 'ala ma kota'
> 'kota ma ala'
>
> i szukam teraz wystąpienia słów 'ala' oraz 'kota' w jednym rekordzie.
> Jak odpytać bazę aby to otrzymać?
> Mogę dać where x like '%ala%' and x like '%kota%' ale może jest jakiś
> prostszy i bardziej uniwersalny sposób?

nie wiem skad takie akademickie opowiedzi poprzednikow, teoretyczne
rozwazania sa dobre, ale trzeba wiedziec o czym sie pisze :)

MATCH (pole_w_bazie) AGAINST ('+ala +kota' IN BOOLEAN MODE)

--

keczerad

http://www.e-mo.com.pl
sklep w (X)HTML
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Gdzie MySQL 4.1, a gdzie 5.0? [MS SQL] "set names" (mySQL) w MS SQL oracle -> oracle lub oracle -> mysql replikacja - programy [mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu. [MySQL] Zwrot tego, co pasuje i nie pasuje :-/ [pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1 [mysql] galeria zdjec - numerowanie zdjec [MySQL] Zapytanie z pliku , wynik do pliku [mysql] CONCAT agregujący, ale nie GROUP_CONCAT() mysql data 0000-00-00 na koniec
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • misida.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com