[Java lista] HTML tartalomban való keresés adatbázis szinten
Tamás Magyar
magyusz at gmail.com
2008. Sze. 29., H, 11:19:30 CEST
Mariák Kálmán <sirkalmi at gmail.com> írta (2008. szeptember 29. 10:54):
> Mint azt korábbi levelemben írtam, a <> jelek ki vannak cserélve html
> entitásokra azaz < és > jelekre. Ennek megfelelően kellene átírni
> a regexp kifejezést de csak nem boldogulok vele.
Kezd tényleg egyre gázabbá válni a dolog, és egyre több lehurrogás fog
jönni, de az gondolom nem sokat segít Rajtad.
Ez viszont segíthet:
1.
az > -t lecseréled > -re
az < -t lecseréled < -re
2.
tageket lecseréled nullstringre (lásd előző levelem)
3.
az így kinyert tiszta szövegre keresel like -kal (lásd előző levelem)
szóval valami ilyesmi:
REGEXP_REPLACE(
REGEXP_REPLACE*(
REGEXP_REPLACE*(mezo_neve, ..., ...) // (1.)
..., ...) // (1.)
, 'tagek*', '')
*: lehet, hogy van sima replace is Oracleben, ide elég lenne az is
Magyusz
UI: Csak hogy ne azonosítsátok a nevem a fenti nem túl elegáns, de
működő módszerrel: Én is már kellett, hogy megoldjak hasonló
problémát. TinyMCE, többezer oldalnyi szövegben keresés. Lucenet
használtam. A keresés sokkal gyorsabb ennél a regexp replace like
módszernél, az indexírást nem érzi a felhasználó (az INSERT is idő),
indexet optimalizálni meg nem a user kiszolgáló szálon elegáns, hanem
mondjuk éjszaka quartzból. Ja és a Lucene sokkal többet is tud, mint
egy sima like.
További információk a(z) Javalist levelezőlistáról