<br><div class="gmail_quote">2011/1/11 Lindolfo Rodrigues Oliveira Neto <span dir="ltr">&lt;<a href="http://lorn.br">lorn.br</a>@<a href="http://gmail.com">gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word">Staninslaw, Fulltext é horrivel ! o melhor jeito de se fazer busca é usando uma estrutura de dados baseada em &#39;Indice Invertido&#39;<div><br></div></div></blockquote><div><br></div><div>

FullText realmente não é uma boa solução se queres performance. :P</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">

<div></div><div><a href="http://en.wikipedia.org/wiki/Inverted_index" target="_blank">http://en.wikipedia.org/wiki/Inverted_index</a></div><div><br></div><div>No CPAN tem o Kinosearch <a href="http://search.cpan.org/search?query=kinosearch&amp;mode=all" target="_blank">http://search.cpan.org/search?query=kinosearch&amp;mode=all</a> que usa isso, mas eu recomendo fortemente o Solr</div>

<div><br></div></div></blockquote><div><br></div><div><br></div><div>KinoSearch é bacana, estupidamente rápido e fica melhor ainda combinado</div><div>com o Search::Query::Dialect::KSx. *Porém* o projeto está sendo migrado,</div>

<div>se puder esperar um pouco mais ( não sei o quanto) olha o </div><div>Lucy[<a href="http://incubator.apache.org/lucy/">http://incubator.apache.org/lucy/</a>].</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word"><div></div><div>O marcioferreira fez alguns benchmark a pouco tempo sobre isso, caso esteja vivo e queira contribuir para a thread :)</div><div><br></div></div></blockquote><div><br></div>

<div>$IRC =~ s/marcioferreira/marcio_ferreira/; # isso gerou confusão em outro post</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">

<div></div><div><div><div><div></div><div class="h5"><div>On Jan 11, 2011, at 6:32 PM, Stanislaw Pusep wrote:</div><br></div></div><blockquote type="cite"><div><div></div><div class="h5"><span dir="ltr"></span><br><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
    Stanislaw&gt; Agora, falando sério: eu quero que o meu blog tenha um<br>
    Stanislaw&gt; sisteminha básico de busca de conteúdo.<br>
<br>
Que bom que você falou disso, nesse caso você deveria ficar longe de<br>
bancos de dados relacionais porque a forma padrão de se implementar uma<br>
busca por texto é indexar documentos desnormalizados. Assim um /john/<br>
vai encontrar ocorrências no documento inteiro (seja no título, autor,<br>
corpo, etc.). Num banco de dados relacional você gasta processamento<br>
a mais porque precisa fazer where title like &#39;%john%&#39; or author like<br>
&#39;%john%&#39; e esse tipo de busca nunca vai sempre ser um table scan, que é,<br>
como diria um amigo meu, &quot;lento pacas&quot;, além de ser mais complicado de<br>
implementar.<br></blockquote><div><br>FULLTEXT?<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<br>
    Stanislaw&gt; Também acho legal que os posts novos contenham<br>
    Stanislaw&gt; referências para posts antigos; e, como a minha memória é<br>
    Stanislaw&gt; ruim, prefiro que o CMS faça isso automaticamente.<br>
<br>
O que impede o CMS de te apontar pruma url que coincide com o documento<br>
que você quer referenciar?<br></blockquote><div><br>Supondo: estou escrevendo resenha sobre iPad. O sistema deve &quot;automagicamente&quot; (categorias, tags, indexação do conteúdo, whatever) associar esse artigo com resenhas de iPhone, iPod, iMac. Em blog pequeno até pode ser viável scanear tudo sempre que artigo novo é criado...<br>



 </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
    Stanislaw&gt; Um esqueminha de comentários c/threads é bacaninha<br>
    Stanislaw&gt; também;<br>
<br>
Escreve pra mim o SQL que recupera todos os nós dentro de uma thread com<br>
profundidade arbitrária. Difícil né? Agora põe esse SQL pra rodar num<br>
benchmark contra um filesystem: &quot;lento pacas&quot;.<br></blockquote><br>use Data::NestedSet;<br> <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">




<br>
    Stanislaw&gt; sem falar de um filtro anti-spam bayesiano...<br>
<br>
Por definição, um filtro remove elementos do stream *antes* deles<br>
chegarem no storage, então esse requisito é completamente ortogonal à<br>
escolha do storage. E mesmo assim, a natureza sequencial dos filtros<br>
também seriam lentos e complicados de implementar num banco de dados<br>
relacional pelos mesmos motivos da busca.<br></blockquote><div><br>Filtro que se preza é treinável. Vou manter (black|white)list como? tie %hash, &#39;DB_File&#39;?<br><br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">




    Stanislaw&gt; Faltou algum argumento para empregar RDBMS?<br>
<br>
Tire suas próprias conclusões.<br></blockquote><div><br>Provando por absurdo e desprezando o atrito: OK, um blog pode ser um emaranhado de arquivos organizados em diretórios. Porém vai ter que ter um (ou mais) índice. Talvez em CSV. E por que não dbmopen? Ou, quem sabe, Berkeley DB. Mas melhor mesmo seria SQLite. Opa!!!<br>



</div></div></div></div><div class="im">
=begin disclaimer<br>   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br> SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>

 L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>=end disclaimer<br></div></blockquote></div><br></div></div><br>=begin disclaimer<br>


   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>
=end disclaimer<br>
<br></blockquote></div><br>