[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 &lt; és &gt; 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 &gt; -t lecseréled > -re
az &lt; -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