Programando em Python
Uma das primeiras coisas que eu começei a fazer nessa minha nova rodada de estudos foi criar uma classe em Python que processa documentos dentro do engine de buscas para que o mesmo seja posteriormente indexado, esse tipo de classe Python tem o nome de estágio, este estágio que criei tem por objetivo extrair do documento a tecnologia chave sobre o qual o documento fala. O código desse meu estágio ficou assim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | from docproc import Processor, ProcessorStatus import os.path class KeyTechnologiesExtractor(Processor.Processor): def __init__(self, name): Processor.Processor.__init__(self, name) def ConfigurationChanged(self, parameters): if self.GetParameter('technologies_file'): filename = os.path.join(os.environ['FASTSEARCH'] + os.path.normpath("/etc/config_data/DocumentProcessor/"), self.GetParameter('technologies_file')) technologies = open(filename, 'r').read().split(";") self.technologiesmap = {} for technology in technologies: if technology.find("=") > -1: technologypair = technology.split("=") self.technologiesmap[technologypair[0]] = technologypair[1] else: self.technologiesmap[technology] = technology log(log.FLOG_STATUS, 'KeyTechnologiesExtractor stage started') def Process(self, uri, document): teaser = document.GetValue("teaser", "") for technologyacronym, technologyname in self.technologiesmap.iteritems(): log(log.FLOG_STATUS, "Technology entry: " + technologyacronym) if teaser.find(technologyacronym) > -1: log(log.FLOG_STATUS, "Found technology entry: " + technologyname) document.Set("keytechnologies", technologyname) return ProcessorStatus.OK |
Esse estágio foi inserido em uma outra estrutura chamada pipeline, um pipepile contém vários estágios, cada estágio realiza algum processamento em cima do documento que está passando dentro do pipeline, após o documento ser completamente processado pelo pipeline o documento é disponibilidado para buscas.
Python é uma das inúmeras tecnologias utilizadas nesse vasto mundo que é o mundo das tecnologias de recuperação de informações.