Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexjose123

SQL para determinar conteúdo/contexto de mensangem

Recommended Posts

Estou desenvolvendo um sistema no qual irão conter noticias para Web, porém sem catedorias.

A minha tarefa é ler cada mensagem (1.235) e determinar segundo as categorias escolhidas pela chefe

quais as mensagem que se enquadram nas categorias, para isso necessito desenvolver um sql para ler a noticia e e verificar o contexto da mesma. Alguém poderia informar por onde começo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo se for mesmo oq eu entendi, isso é impossível de fazer, vc terá que ler as mensagens manualmente e categorizar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O google usa um engine semelhante para pesquisar as noticias sobre determinado contexto.

A questão na minha humilde opinião é ler a string palavra por palavra e determinar se elas pertence ao contexto

na qual mereça uma categoria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a menos que voce coloque o texto da noticia em um array de strings

e coloque uma condicao tipo se dentro do array tiver a palavra moda e beleza e cuidados pessoais

entao coloca a mensagem na categoria moda,

ou seja ao inserir a noticia ela vai nome da noticia e texto (o texto é um tipo array, tem como por arrays no banco pq eu ja fiz )

ai trazendo do banco

vc coloca um while pra trazer do banco logo uma query pra determinar que só venha uma por vez

e dentro do while um for pra percorrer o texto

e dentro do for pra ver se tem as palavras que determinarão a categoria

um if pra cada categoria

 

espero ter ajudado pelo menos na lógica de como fazer pra começar

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma solução prática seria a lógica do post #4.

 

Na prática, criaria um campo chamado category_id com valor padrão NULL

 

então basta aplicar o UPDATE com as buscas:

UPDATE tabela SET category_id = 1 WHERE field REGEXP 'moda|beleza|cosmeticos' AND category_id IS NULL;

 

Daí basta trocar os IDs das categorias com suas respectivas palavras-chave

 

 

Outra forma mais recomendável é modelar uma estrutura que permita um texto entrar em mais de uma categoria

 

Então teria que criar uma tabela para relacionar os IDs dos artigos e IDs de categorias

 

 

 

article_categories
   id (unique)
   article_id
   category_id

 

 

Nesse caso, a query de UPDATE, acima, precisaria incrementar subqueries.

Compartilhar este post


Link para o post
Compartilhar em outros sites

melhorando o código .....

em cada if de categoria uma variavel chamada

categoria receberia o nome da categoria

e então no final dos if sem por else

if (categoria == moda){

 

sql = mysql_query = insert into tabela (camponomedacategoria, conteudo ) values ('categoria', 'textodapagina');

 

}

 

if (categoria == esportes){

 

sql2 = mysql_query = insert into tabela (camponomedacategoria, conteudo ) values ('categoria', 'textodapagina');

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não há necessidade em usar PHP... pode ser feito tudo no SQL mesmo.

 

Como seria usando somente SQL ? Por favor poderia informar a logica utilizando somente as querys ?

 

melhorando o código .....

em cada if de categoria uma variavel chamada

categoria receberia o nome da categoria

e então no final dos if sem por else

if (categoria == moda){

 

sql = mysql_query = insert into tabela (camponomedacategoria, conteudo ) values ('categoria', 'textodapagina');

 

}

 

if (categoria == esportes){

 

sql2 = mysql_query = insert into tabela (camponomedacategoria, conteudo ) values ('categoria', 'textodapagina');

 

}

 

Vou testar aqui no sistema e logo informo o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.