php - Select que agrupe itens com palavras relacionadas entre o mesmo campo - Stack Overflow em Português
Select que agrupe itens com palavras relacionadas entre o mesmo campo
Bom dia, tenho um banco de dados de aproximadamente 40 mil linhas referente a cada produto uma linha.
Eu estava usando uma tabela de catalogo (o mesmo que categoria) onde cada item (produto) que fosse inserido fosse destinado ao catalogo x e y, ou só x, assim a pessoa adicionava o produto e marcava em qual ou quais catalogos ele apareceria.
No site teria os catalogos, onde clica e aparece os produtos, semelhante a categoria, mas ficaria mais particular ao catalogo.
Funcionou muito bem mas devido ao requisito de agilidade e importação de anuncios (produtos) em grande demanda ficou inviável o cadastro um por um selecionando catalogo.
Retirei essa função e agora é tudo importado, já que o produto vem de uma plataforma principal sempre e não há necessidade de criar duas vezes o mesmo produto.
Quero que o sistema crie catalogos de forma inteligente, mesmo que o sistema fique meio "burrinho".
Minha idéia é, ao importar por exemplo 10 produtos, sendo que, 2 deles estejam assim:
Cordão de Tenis
O Sistema identifique que há palavras iguais no texto, e agrupe.
Como eu quero um sistema inteligente, eu não quero que ele crie o catalogo no banco, e sim, na hora do select aconteça tudo.
Ou seja, um select para criar os catalogos, onde a pessoa vai clicar em cima, e posteriormente outro select para mostrar o resultado.
Terá de ter o resultado Tenis quando encontrar estes 2 itens com relação de texto igual, assim em diante se encontrar mais, entenderam ?
Para não ficar tudo muito bagunçado já que eu tenho muito produto e eu quero algo meio inteligente, seria, no fim ele identificar a quantidade de nomes semelhantes, e antes de criar os catalogos, fosse feito uma contagem daqueles que mais se repetiu, e ai sim, criar os catalogos, por exemplo 50 mais repetido, pra não ficar muito redundante repetindo catalogos diferentes para os mesmos itens, mas com algo que, eu não perdesse itens que tiveram pouca pontuação, visto que se tiver muito igual vao subir no rank, e aqueles com pouco igual pode ser que sejam unicos, e não redundante.
O que vier de código está bem vindo para inicio!
perguntada 25/02/19 às 3:24
64811 medalhas de ouro88 medalhas de prata1616 medalhas de bronze
Relacionada: pt.stackoverflow.com/questions/1828
25/02/19 às 3:31
Mas por que não criar catalogos antes e apenas buscar por eles? Pode agendar uma tarefa para executar uma vez por dia ou mais se precisar, essa tarefa executa o código para criar esses catalogos, assim fica mais rápido a consulta para os usuários
25/02/19 às 3:35
Por que estava assim, ja era criado e depois buscava por eles, esse metodo se tornou ineficiente, nao é uma loja normal, é um projeto mais por seo, era criado o catalogo antes e marcado o vinculo com o produto no momento de criar o produto ou quando nao existente era criado o catalogo por uma opcao junto com o produto, de forma ágil, como resultado final o procedimento é lento, usei tudo que é tecnologia como ajax e javascript isso ficou inviavel com o novo modo importando, preciso que se crie automaticamente só pelo nome dos produtos.
25/02/19 às 6:09
Criar catalogo por script automaticamente teria o mesmo metodo que a consulta que quero, só que nao quero que fique no banco de dados, tem que ser momentaneo, quando o produto é desativado, esse catalogo nao aparecerá mais, quero eliminar o catalogo de forma fisica no banco de dados, e só aparecer por meio da consulta sql.
25/02/19 às 6:12
Estes são os produtos que vou trabalhar para concluir o que quero: cellsystem.com.br/home/index.php?p=listar_todos_produtos