Como modelar e consultar responsabilidades espaciais de filiais locais da empresa

5

quais são as melhores práticas para modelar e consultar as responsabilidades espaciais das filiais locais da empresa? Minha empresa tem muitas filiais locais que são, em geral, responsáveis por uma cidade. Este é o caso mais fácil. No entanto, existem alguns casos excepcionais. Aqui está uma lista de todos os possíveis casos:

  • o branch a é responsável pela cidade a (caso geral)
  • o branch a é responsável pela cidade a, b e c
  • o branch a é responsável pelos distritos 1 e 2 da cidade a, enquanto o ramo b é responsável pelos distritos 3, 4 e 5 da cidade a
  • o ramo a é responsável pela cidade ae pelo distrito de Foostreet do distrito 2, enquanto o ramo b é responsável pelo distrito 2 da cidade a
  • o branch a é responsável pela cidade ae pelos números ímpares de housenumbers de Foostreet do distrito 2, enquanto o branch b é responsável pelo distrito 2 da cidade a
  • o branch a é responsável pela cidade a para todos os clientes cujo sobrenome começa com as letras A-F, enquanto a ramificação b tem G-K e a ramificação c tem ....
  • o branch a é responsável pela cidade a no caso de manipular o Foos, enquanto o branch b é responsável pela cidade a no caso de lidar com o Bars

Estes são os possíveis casos de responsabilidade, que obviamente também podem ser misturados. O sistema planejado deve fornecer a resposta para a pergunta: "Qual ramo é responsável pela cidade a (ou b ou c ...)?". Se houver casos excepcionais, a questão deve ser mais específica.

É possível fornecer dicas como: "A cidade tem mais de uma filial, por favor, escolha um distrito!" ou "Para qual caso você está perguntando? Ramificação responsável pelo manuseio de Foos, Bares, ....?"

A questão que mais provavelmente seria perguntada é: "Qual ramo é responsável pelo 345 de 345 em 12345 Foocity?"

Meus requisitos são Java Enterprise e um banco de dados mySQL. Pode ser possível usar o MongoDB ou Neo4j se realmente fizer mais sentido.

Eu já tenho um banco de dados com todas as cidades, distritos, CEPs e ruas, com os quais os dados podem ser "conectados".

Espero que esta pergunta não soe como: "Por favor, faça o meu trabalho por mim.", mas minha experiência em modelagem de domínio espacial é quase zero.

    
por Turbokiwi 19.03.2013 / 16:12
fonte

1 resposta

2

Como todos os seus critérios não são estritamente geográficos, acho que o que você está procurando cai mais de perto na pesquisa facetada . A pesquisa facetada permite ao usuário "detalhar" até obter as informações desejadas, neste caso, o ramo responsável. Você vê isso com mais frequência em sites de compras. Você faz uma pesquisa geral e, em seguida, uma lista de critérios ou "facetas" aparece no lado esquerdo. O usuário escolhe uma faixa de preço, uma classificação de revisão ou um nome de marca, etc. A pesquisa por computadores fornece uma lista de facetas diferente da pesquisa de roupas.

No seu caso, as facetas seriam a cidade, o distrito, a rua, números pares ou ímpares, etc. Talvez você não consiga usar a pesquisa facetada do solr diretamente, mas isso deve lhe dar um bom lugar para começar.

    
por 19.03.2013 / 16:50
fonte