fix: exigir match de tema na busca e corrigir verificacao de status ativo

This commit is contained in:
Frederico Castro
2025-12-20 12:27:29 -03:00
parent 342e52880e
commit 81acf1895f
2 changed files with 25 additions and 29 deletions

View File

@@ -536,40 +536,36 @@ class ElasticsearchClient:
must_conditions = []
should_conditions = []
tema_lower = tema.lower().strip()
must_conditions.append({
"nested": {
"path": "atuacoes",
"query": {
"bool": {
"must": [
{"term": {"atuacoes.tipo": "Consultor"}}
],
"should": [
{"match": {"atuacoes.dadosConsultoria.areaConhecimentoPos.nome": {"query": tema, "boost": 3}}},
{"match": {"atuacoes.dadosConsultoria.areaConhecimentoPos.areaAvaliacao.nome": {"query": tema, "boost": 5}}},
{"match": {"atuacoes.dadosConsultoria.areaPesquisa.descricao": {"query": tema, "boost": 2}}},
{"match": {"atuacoes.dadosConsultoria.areaConhecimentoPos.especialidade": {"query": tema, "boost": 2}}}
],
"minimum_should_match": 1
}
},
"score_mode": "max"
}
})
should_conditions.extend([
{
"nested": {
"path": "atuacoes",
"query": {
"bool": {
"must": [
{"term": {"atuacoes.tipo": "Consultor"}},
{
"bool": {
"should": [
{"match": {"atuacoes.dadosConsultoria.areaConhecimentoPos.nome": {"query": tema, "boost": 3}}},
{"match": {"atuacoes.dadosConsultoria.areaConhecimentoPos.areaAvaliacao.nome": {"query": tema, "boost": 5}}},
{"match": {"atuacoes.dadosConsultoria.areaPesquisa.descricao": {"query": tema, "boost": 2}}}
]
}
}
]
}
},
"score_mode": "max",
"boost": 10
}
},
{
"nested": {
"path": "atuacoes",
"query": {
"bool": {
"should": [
{"term": {"atuacoes.tipo": {"value": "Coordenação de Área de Avaliação", "boost": 8}}},
{"term": {"atuacoes.tipo": {"value": "Histórico de Coordenação de Área de Avaliação", "boost": 4}}}
{"term": {"atuacoes.tipo": {"value": "Coordenação de Área de Avaliação", "boost": 3}}},
{"term": {"atuacoes.tipo": {"value": "Histórico de Coordenação de Área de Avaliação", "boost": 1}}}
]
}
},
@@ -582,8 +578,8 @@ class ElasticsearchClient:
"query": {
"bool": {
"should": [
{"term": {"atuacoes.tipo": {"value": "Premiação Prêmio", "boost": 3}}},
{"term": {"atuacoes.tipo": {"value": "Avaliação Prêmio", "boost": 2}}}
{"term": {"atuacoes.tipo": {"value": "Premiação Prêmio", "boost": 2}}},
{"term": {"atuacoes.tipo": {"value": "Avaliação Prêmio", "boost": 1}}}
]
}
},

View File

@@ -160,7 +160,7 @@ const SugerirConsultores = ({ onClose, onSelectConsultor }) => {
<div className="sugerir-badges">
{c.foi_coordenador && <span className="badge coordenador" title="Foi coordenador">CA</span>}
{c.foi_premiado && <span className="badge premiado" title="Foi premiado">P</span>}
{c.situacao === 'Atividade Continua' || c.situacao === 'Ativo' ? (
{c.situacao && c.situacao.toLowerCase().includes('atividade') ? (
<span className="badge ativo">Ativo</span>
) : (
<span className="badge inativo">Inativo</span>