Documentação dos sistemas
Indexação de palavras-chave
ADSDOC.RQ-002
Descrição
Para acelerar e flexibilizar a pesquisa na documentação, é necessário um processo inteligente de indexação.
Fluxo normal
INDEXAÇÃO DO REPOSITÓRIO:
Quando um elemento é excluído, seus indices são excluídos junto
Qualquer alteração de componente marca ele para ser reindexado (tabela "indexação pendente" formada dos IDs que devem ser reindexados)
Quando a indexação é realizada, os registros são excluídos da pendencia
A indexação é realizada nos atributos:
- Nome
- Nome global
- Título
- Descrição
Dos seguintes tipos de elementos:
- Requisitos
- Sistemas
- Blocos
- Telas (Funções)
- Preferencias (propriedades)
- Entidades
- Atributos
- FAQs
- Glossário
- Atores
Processo de indexação:
- Separa palavras
- Ignora palavras não indexáveis (conjunções, preposições, etc.)
- Consulta/Cadastra palavra no mapa de palavras (keywords)
- Cada keyword tem um id (pk) e um group_id (sinonimos)
- Editor permite informar sinonimos (iguala os group_id)
- Cria índice vinculando um group_id a um id de elemento do repositório
Processo de pesquisa:
select e.element_id
from keywords k1
join keywords k2 on k2.group_id = k1.group_id
join element_keyword e on e.keyword_id = k2.id
where k1.keyword = ?;