Eu tenho o seguinte esquema de banco de dados
Produto
Eu ia | Nome | FabricaçãoId |
---|---|---|
Guia (PK) | corda | (FK) |
- | ECOSYS M2640idw | 3 |
- | Infoprint 1140 | 2 |
Fabricação
Eu ia | Nome |
---|---|
(PK) | corda |
1 | Hitachi |
2 | IBM |
3 | Kyocera Mita |
- Ambos os nomes (produto e fabricante) podem consistir em várias palavras;
Tenho uma sequência de pesquisa (fornecida pelo usuário no aplicativo móvel) compilada em uma ordem aleatória (nome do produto, nome do fabricante ou nome do fabricante, nome do produto), os nomes podem ser parciais, preciso selecionar entradas do banco de dados que corresponderão à entrada do usuário, não há delimitadores nas sequências de pesquisa entre as peças de fabricação e do produto.
por exemplo
- entrada de pesquisa:
Kyoce ecos
deve fornecer nos resultados uma entradaECOSYS M2640idw
- entrada de pesquisa:
kyocera mi ecosys
deve fornecer nos resultados uma entradaECOSYS M2640idw
- entrada de pesquisa:
ibm
deve fornecer resultadosInfoprint 1140
Você poderia ajudar a encontrar uma maneira melhor de construir uma consulta SQL para abordar isso no Postgresql?
Obrigado por qualquer ajuda