fix: exigir match de tema na busca e corrigir verificacao de status ativo
This commit is contained in:
@@ -536,40 +536,36 @@ class ElasticsearchClient:
|
|||||||
must_conditions = []
|
must_conditions = []
|
||||||
should_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([
|
should_conditions.extend([
|
||||||
{
|
{
|
||||||
"nested": {
|
"nested": {
|
||||||
"path": "atuacoes",
|
"path": "atuacoes",
|
||||||
"query": {
|
"query": {
|
||||||
"bool": {
|
|
||||||
"must": [
|
|
||||||
{"term": {"atuacoes.tipo": "Consultor"}},
|
|
||||||
{
|
|
||||||
"bool": {
|
"bool": {
|
||||||
"should": [
|
"should": [
|
||||||
{"match": {"atuacoes.dadosConsultoria.areaConhecimentoPos.nome": {"query": tema, "boost": 3}}},
|
{"term": {"atuacoes.tipo": {"value": "Coordenação de Área de Avaliação", "boost": 3}}},
|
||||||
{"match": {"atuacoes.dadosConsultoria.areaConhecimentoPos.areaAvaliacao.nome": {"query": tema, "boost": 5}}},
|
{"term": {"atuacoes.tipo": {"value": "Histórico de Coordenação de Área de Avaliação", "boost": 1}}}
|
||||||
{"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}}}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -582,8 +578,8 @@ class ElasticsearchClient:
|
|||||||
"query": {
|
"query": {
|
||||||
"bool": {
|
"bool": {
|
||||||
"should": [
|
"should": [
|
||||||
{"term": {"atuacoes.tipo": {"value": "Premiação Prêmio", "boost": 3}}},
|
{"term": {"atuacoes.tipo": {"value": "Premiação Prêmio", "boost": 2}}},
|
||||||
{"term": {"atuacoes.tipo": {"value": "Avaliação Prêmio", "boost": 2}}}
|
{"term": {"atuacoes.tipo": {"value": "Avaliação Prêmio", "boost": 1}}}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ const SugerirConsultores = ({ onClose, onSelectConsultor }) => {
|
|||||||
<div className="sugerir-badges">
|
<div className="sugerir-badges">
|
||||||
{c.foi_coordenador && <span className="badge coordenador" title="Foi coordenador">CA</span>}
|
{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.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 ativo">Ativo</span>
|
||||||
) : (
|
) : (
|
||||||
<span className="badge inativo">Inativo</span>
|
<span className="badge inativo">Inativo</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user