ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

indexar arquivos

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
cobaiaoo
Colaborador
Colaborador


Registrado: Domingo, 1 de Abril de 2012
Mensagens: 1283

MensagemEnviada: Sex Ago 15, 2014 8:08 pm    Assunto: indexar arquivos Responder com Citação

pessoal imaginem q eu tenho uma pasta em um diretorio x, nesse diretorio eu tenho arquivos txt e docs
como eu indexo esses arquivos para fazer uma busca no meu sistema usando o operador LIKE do banco de dados?

eu sei lista todos e dps fazer esse LIKE, minha duvida é como eu faria essa indexacao? parece simples, mas se um DOC novo for acrescentado e/ou um TXT for removido, alguem poderia me ajuda em uma logica pra resolver isso por favor
_________________
I João 4:8 - "Aquele que não ama não conhece a Deus; porque Deus é amor."
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sáb Ago 16, 2014 8:46 pm    Assunto: Responder com Citação

Amigo já pensou em utilizar o clientdataset utilizando um arquivo binário dele no formato datapacket?

Outra opção seria utilizar access ou sqlite para armazenar os nomes arquivos e fazer a pesquisa.

Fora isto, você pode criar um programa que mapeia os arquivos e você pode fazer uma procura em um aplicativo multithread, tem um destes no livro guia do desenvolvedor delphi 5.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
cobaiaoo
Colaborador
Colaborador


Registrado: Domingo, 1 de Abril de 2012
Mensagens: 1283

MensagemEnviada: Sáb Ago 16, 2014 10:55 pm    Assunto: Responder com Citação

johnny-walker escreveu:
Amigo já pensou em utilizar o clientdataset utilizando um arquivo binário dele no formato datapacket?


kkk vc sabe de mais jhonny nem entendi, rs

Citação:

Outra opção seria utilizar access ou sqlite para armazenar os nomes arquivos e fazer a pesquisa.


essa opcao é q estou pensando em especial o access, minha dificuldade n é na busca mas sim na indexacao, preciso somente da logica pois n sei de uma eficiente

Citação:

Fora isto, você pode criar um programa que mapeia os arquivos e você pode fazer uma procura em um aplicativo multithread, tem um destes no livro guia do desenvolvedor delphi 5.


essa eu descarto, a pesquisa tem q ser pelo banco, sqlite
_________________
I João 4:8 - "Aquele que não ama não conhece a Deus; porque Deus é amor."
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Dom Ago 17, 2014 12:49 am    Assunto: Responder com Citação

Eu utilizo datapacket para algumas coisas e funciona muito bem, claro não tem suporte a like, mas dá para utilizar locate() e findnearst() e com isto resolve seu problema sem ter um banco de dados em si, somente um arquivo binário onde tem as localizações dos arquivos, podendo inclusive utilizar um índice para tornar mais rápido a pesquisa.



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Dom Ago 17, 2014 10:04 am    Assunto: Responder com Citação

cobaiaoo eu tenho um sistema que faz indexação semelhante ao google, se você quiser eu lhe passo, mas aviso, a coisa e bem complicada e grande.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
cobaiaoo
Colaborador
Colaborador


Registrado: Domingo, 1 de Abril de 2012
Mensagens: 1283

MensagemEnviada: Dom Ago 17, 2014 2:18 pm    Assunto: Responder com Citação

johnny-walker escreveu:
cobaiaoo eu tenho um sistema que faz indexação semelhante ao google, se você quiser eu lhe passo, mas aviso, a coisa e bem complicada e grande.


bye


se puder me mandar eu agradeco sim, vc ja tem meu email, rs

mas saberia me dizer a logica para indexar os arquivos?

seria +- o q acontece com o Everything
http://www.subrotina.com.br/aplicativos-uteis-para-o-cotidiano/

o q eu penso seria listar todos arquivos na inicializacao do sistema e verificar 1 a 1 no banco, alem de nao ser pratico e acredito n ser rapido
caso algum arquivo for adicionado ou removido dps do sistema aberto n sei como poderia tratar isso

consegue pensar em algo pra mim, so a logica msm, rs
_________________
I João 4:8 - "Aquele que não ama não conhece a Deus; porque Deus é amor."
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Dom Ago 17, 2014 9:40 pm    Assunto: Responder com Citação

Amigo vou procurar aqui e te mando, mas você pode monitorar as mudanças no diretório que você quer verificar as mudanças.
Tem um componente do shell que verifica isto, pelo menos tinha no delphi 7, não sei se retiraram o mesmo dos novos delphis.


bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9098
Localização: Sinop-MT

MensagemEnviada: Seg Ago 18, 2014 9:07 am    Assunto: Responder com Citação

existe um componente da RxLib q monitora um diretorio, chamado RxFolderMonitor, mas nunca usei hehehe.

e tb acho q ele foi incorporado a lib Jedi
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
claudio.ferreira
Profissional
Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013
Mensagens: 667

MensagemEnviada: Seg Ago 18, 2014 9:20 am    Assunto: Responder com Citação

Deixa um programa rodando num timer monitorando o diretorio por mudanças.

Pesquise as rotinas findfirst e findnext do delphi tem varios exemplos na net.

Quando houver mudança insira ou remova do banco.

Nunca usei, mas no Mysql 5.5 em diante tem um recurso de Full text search em que há indexação de palavras de um texto, muito interessante e com ele não precisa usar like, é mais poderoso e mais rápido que uma busca like pois esta última faz full table scan.
_________________
Sistema SNGPC para farmácias
http://www.cmasistemas.com.br
Rastreabilidade de Medicamentos
https://www.sncm.com.br
Soluções em Delphi
https://delphisolutions.wordpress.com/
.
"E não sabendo que era impossível, foi lá e fez"
Mark Twain
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
claudio.ferreira
Profissional
Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013
Mensagens: 667

MensagemEnviada: Seg Ago 18, 2014 9:59 am    Assunto: Responder com Citação

Dê uma olhada cobaiaao


http://pt.blog.marceloaltmann.com/en-using-the-mysql-fulltext-index-search-pt-utilizando-mysql-fulltext/
_________________
Sistema SNGPC para farmácias
http://www.cmasistemas.com.br
Rastreabilidade de Medicamentos
https://www.sncm.com.br
Soluções em Delphi
https://delphisolutions.wordpress.com/
.
"E não sabendo que era impossível, foi lá e fez"
Mark Twain
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
cobaiaoo
Colaborador
Colaborador


Registrado: Domingo, 1 de Abril de 2012
Mensagens: 1283

MensagemEnviada: Seg Ago 18, 2014 4:16 pm    Assunto: Responder com Citação

mto obrigado pessoal dps vou olhar com mais calma, legal isso de full text
_________________
I João 4:8 - "Aquele que não ama não conhece a Deus; porque Deus é amor."
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB