Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

rebortec

Comparação de palavras

Mensagens Recomendadas

rebortec    0
rebortec

Boas Pessoal,

Estou aqui com uma dúvida, estou a criar um site/motor de busca e necessito de comparar campos para optimizar a base de dados.

Tenho o Script que lê os sites dos cliente e exporta a informação e escreve na base de dados, mas a base de dados assim fica pesada, o que queria era por exemplo:

Criar uma tabela marcas e quando importar os dados compara por exemplo a marca Intel verifica na tabela marcas e escreve o id equivalente a marca.

Consegui compara os valores novo e usado mas são apenas dois e as marcas são muitas não dá para fazer um if para 8542 marcas.

Obrigado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rebortec    0
rebortec

if ( $cond == 'Novo' ){
    $cond_n = '1';

} elseif ( $cond == 'Usado' ) {

    $cond_n = '2';

} else {

    $cond_n = '0';

}


Estou com problemas agora nesta função porque na base de dados tenho Mercedes-Benz e alguns clientes enviam apenas mercedes e não consigo associar.

O já pense em fazer expload também não consegui, alteres a query a base de dados fazendo um like e até mesmo com indices fulltext e também não consigo.

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

Em relação á utilização do Sphynx não sei bem como funciona :S

Instalas e alteras ligeiramente as queries no mysql para devolver o rank que queres nos resultados.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rebortec    0
rebortec

Já consegui resolver a assiciação, agora gostaria de saber se esse software permite fazer correcções ortográficas por exemplo alguém pesquisa por motherboards mas escreve moterboads e o scrips associar a motherboards como faz o mercadolivre e o ebay por exemplo.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

O que podes fazer é um autocomplete, como o google tem, que tenta assumir o que se está a escrever na pesquisa enquanto se escreve.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rebortec    0
rebortec

Sim isso é simples mas o que queria mesmo era que corrigi-se erros ortográfico e associasse sinónimos por exemplo pesquisa por máquina branca - resultado: máquinas máquina branco brancas

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

E tens a mínima ideia de como resolver isso, ou estás a atirar para o ar à espera de soluções? :)

A questão dos erros ortográficos é um problema. A associação de palavras e detecção de contexto é outro.

É possível facilitares a associação de conceitos e achar contextos com uma plataforma semântica (podes dar uma vista de olhos a coisas como RDF, RDFa, RDFS, OWL e SPARQL). Mas isso é uma coisa completamente diferente da forma como deves estar habituado a desenvolver plataformas web, que pouco ou nada têm de semântica e são todas baseadas em detecção de palavras chave (keyworkds).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rebortec    0
rebortec

Não estou a atirar para o ar, estou a dizer que tenho intenções de pagar (eu=equipa) já colocamos anúncio em vários site, a resposta que obtemos é sim fazemos um sistema de pesquisa em php e mysql. (Alguns até queria fazer em Wordpress LOL), mas o que pretendemos é um agente inteligente(semântica) talvez em prolog ou até mesmo RDF SPARQL etc mas que funcione e sincroniza-lo com php.

Se alguém se achar capaz de o fazer estamos dispostos a negociar.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

Já disse acima : uma função dessas é dispendiosa a nível de recursos.

Além disso, é muito mais fácil fazer um sistema de pesquisa user friendly, com a informação contextualizada.

Anyway, aqui vai um artigo interessante sobre o assunto : http://www.readwriteweb.com/archives/semantic_search_the_myth_and_reality.php

E mais um link com um módulo sobre spell checking : http://php.net/manual/en/book.pspell.php

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

Repara que um motor semântico não é exactamente uma coisa mainstream. Primeiro porque a criação de conceitos e relacionamentos entre conceitos é "escrita" por quem desenvolve o sistema. Depois, porque isto não está adequado aos modelos das bases de dados relacionais, ou seja, precisavas de uma base de dados semântica.

Sei de um projecto de investigação no âmbito de um mestrado em engenharia informática para tentar adaptar uma base de dados relacional para ser utilizada como uma base de dados semântica, o que foi conseguido, mas os resultados não eram muito promissores.

Eu cheguei a ter uma cadeira de Web Semântica onde cheguei a implementar um sistema semântico, mas o que existe é mesmo muito limitado e precisaria de ser desenvolvido para se conseguirem implementar coisas decentes com aquilo. A verdade é que a web baseada em metadados é uma abordagem mais rápida de implementar, embora com menor eficiência na pesquisa. O pessoal acabou por adoptar essa abordagem para criar praticamente tudo, em vez de seguir a via da semântica.

Neste momento é muito interessante para projectos de investigação, mas muito dispendioso (temporalmente e em termos de recurosos) para implementação para coisas reais.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
mjamado    47
mjamado
Já disse acima : uma função dessas é dispendiosa a nível de recursos.

Não é tanto como pensas, yoda. A pesquisa deste site é feita precisamente com o Sphinx e já teve a auto-correcção activada (neste momento não tem, que interferia com outros requisitos do cliente). O servidor é bom, mas também não é nenhuma bomba (é um quad-core Xeon), e a pesquisa era (e é) muito rápida. Claro que a indexação não é realtime, mas apenas uma vez por dia.

rebortec, tal como já disse o yoda, parece-me que, para o que queres, o Sphinx ou, eventualmente, o Lucene, são as tua melhores opções.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

A parte dispendiosa era relacionada com o a semântica em real-time apenas, não estava a referir-me ao Sphynx sozinho. Apesar de nunca ter feito nenhum sistema que envolve-se semântica , pesquisas por ranking revelaram-se relativamente satisfatórias para mim, e aconselho o seu uso (tem algumas limitações porém).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade