radar-parlamentar / radar

Estamos de mudança para o GitLab: https://gitlab.com/radar-parlamentar/radar.
http://radarparlamentar.polignu.org
84 stars 44 forks source link

Buscas por palavras-chave não funcionando. #472

Closed diraol closed 6 years ago

diraol commented 6 years ago

Rodei o projeto localmente (branch master), importei[1] tanto os dados da "Convenção Nacional Francesa" (conv) quanto da Câmara Municipal de São Paulo (cmsp), abri o gráfico do radar das duas e tentei fazer filtros básicos (saúde, educação, habitação).

O log do nginx mostra o seguinte:

nginx_1 | 172.19.0.1 - - [12/May/2018:13:14:26 +0000] "GET /radar/cmsp/?periodicidade=BIENIO&palavras_chave=saude HTTP/1.1" 200 8708 "http://localhost/radar/cmsp/" "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0" "-" nginx_1 | 172.19.0.1 - - [12/May/2018:13:14:26 +0000] "GET /static/files/codes/css/colors/orange-green.css HTTP/1.1" 200 1117 "http://localhost/radar/cmsp/?periodicidade=BIENIO&palavras_chave=saude" "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0" "-" nginx_1 | 172.19.0.1 - - [12/May/2018:13:14:27 +0000] "GET /static/files/images/cross-patt-img.png HTTP/1.1" 200 2974 "http://localhost/static/files/codes/css/style.css" "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0" "-" nginx_1 | 172.19.0.1 - - [12/May/2018:13:14:27 +0000] "GET /radar/json/cmsp/BIENIO/saude HTTP/1.1" 301 0 "http://localhost/radar/cmsp/?periodicidade=BIENIO&palavras_chave=saude" "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0" "-" nginx_1 | 172.19.0.1 - - [12/May/2018:13:14:27 +0000] "GET /files/codes/css/colors/default.css HTTP/1.1" 404 1203 "http://localhost/radar/cmsp/?periodicidade=BIENIO&palavras_chave=saude" "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0" "-" nginx_1 | 172.19.0.1 - - [12/May/2018:13:14:27 +0000] "GET /radar/json/cmsp/BIENIO/saude/ HTTP/1.1" 500 114902 "http://localhost/radar/cmsp/?periodicidade=BIENIO&palavras_chave=saude" "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"

No container do django tem horas que não aparece nada (parece que ele simplesmente para de logar qualquer coisa), e tem horas (depois de restartar o container) que aparece o seguinte:

django_1 | [pid: 39|app: 0|req: 1/3] 172.19.0.1 () {46 vars in 869 bytes} [Sat May 12 13:16:54 2018] GET /radar/json/cmsp/BIENIO/saude => generated 0 bytes in 282 msecs (HTTP/1.1 301) 3 headers in 135 bytes (1 switches on core 0)
django_1 | INFO 2018-05-12 13:16:55,345 Analisando periodo 2011-01-01 a 2012-12-31.
django_1 | GET /radar_parlamentar/_search?fields=votacao_id&q=casa_legislativa_nome_curto%3Acmsp+AND+saude+AND+votacao_data%3A%5B2011-01-01+TO+2012-1 2-31%5D [status:404 request:0.086s] django_1 | ERROR 2018-05-12 13:16:55,435 Exception handling request for /radar/json/cmsp/BIENIO/saude/
django_1 | Traceback (most recent call last):
django_1 | File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
django_1 | response = wrapped_callback(request, *callback_args, callback_kwargs)
django_1 | File "./analises/views.py", line 66, in json_analise
django_1 | analise_temporal = analisador.get_analise_temporal()
django_1 | File "./analises/analise.py", line 81, in get_analise_temporal
django_1 | self._faz_analises()
django_1 | File "./analises/analise.py", line 101, in _faz_analises
django_1 | self.palavras_chave) django_1 | File "./analises/analise.py", line 155, in init django_1 | self._inicializa_votacoes() django_1 | File "./analises/analise.py", line 190, in _inicializa_votacoes django_1 | self.votacoes = filtro_votacao.filtra_votacoes() django_1 | File "./analises/filtro.py", line 107, in filtra_votacoes django_1 | index=settings.ELASTIC_SEARCH_INDEX, q=query, fields="votacao_id") django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/client/utils.py", line 70, in _wrapped django_1 | return func(*args, params=params, *kwargs) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/client/init.py", line 388, in search django_1 | params=params, body=body) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/transport.py", line 274, in perform_request django_1 | status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 55, in perform_request django_1 | self._raise_error(response.status, raw_data) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/connection/base.py", line 83, in _raise_error django_1 | raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info) django_1 | elasticsearch.exceptions.NotFoundError: TransportError(404, {'root_cause': [{'type': 'index_not_found_exception', 'reason': 'no such index ', 'resource.type': 'index_or_alias', 'resource.id': 'radar_parlamentar', 'index': 'radar_parlamentar'}], 'type': 'index_not_found_exception', 'reason': 'no such index', 'resource.type': 'index_or_alias', 'resource.id': 'radar_parlamentar', 'index': 'radar_parlamentar'}) django_1 | Internal Server Error: /radar/json/cmsp/BIENIO/saude/ django_1 | Traceback (most recent call last): django_1 | File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner django_1 | response = get_response(request) django_1 | File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response django_1 | response = self.process_exception_by_middleware(e, request) django_1 | File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response django_1 | response = wrapped_callback(request, callback_args,
callback_kwargs) django_1 | File "./analises/views.py", line 66, in json_analise django_1 | analise_temporal = analisador.get_analise_temporal() django_1 | File "./analises/analise.py", line 81, in get_analise_temporal django_1 | self._faz_analises() django_1 | File "./analises/analise.py", line 101, in _faz_analises django_1 | self.palavras_chave) django_1 | File "./analises/analise.py", line 155, in init django_1 | self._inicializa_votacoes() django_1 | File "./analises/analise.py", line 190, in _inicializa_votacoes django_1 | self.votacoes = filtro_votacao.filtra_votacoes() django_1 | File "./analises/filtro.py", line 107, in filtra_votacoes django_1 | index=settings.ELASTIC_SEARCH_INDEX, q=query, fields="votacao_id") django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/client/utils.py", line 70, in _wrapped django_1 | return func(*args, params=params, **kwargs) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/client/init.py", line 388, in search django_1 | params=params, body=body) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/transport.py", line 274, in perform_request django_1 | status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 55, in perform_request django_1 | self._raise_error(response.status, raw_data) django_1 | File "/usr/local/lib/python3.6/site-packages/elasticsearch/connection/base.py", line 83, in _raise_error django_1 | raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info) django_1 | elasticsearch.exceptions.NotFoundError: TransportError(404, {'root_cause': [{'type': 'index_not_found_exception', 'reason': 'no such index ', 'resource.type': 'index_or_alias', 'resource.id': 'radar_parlamentar', 'index': 'radar_parlamentar'}], 'type': 'index_not_found_exception', 'reason': 'no such index', 'resource.type': 'index_or_alias', 'resource.id': 'radar_parlamentar', 'index': 'radar_parlamentar'}) django_1 | [pid: 41|app: 0|req: 2/4] 172.19.0.1 () {46 vars in 871 bytes} [Sat May 12 13:16:55 2018] GET /radar/json/cmsp/BIENIO/saude/ => generated 115162 bytes in 281 msecs (HTTP/1.1 500) 3 headers in 101 bytes (1 switches on core 0)

E no console do browser eu vejo o seguinte:

TypeError: dados is null[Learn More] radar_plot.js:162:9 plot_data http://localhost/static/files/codes/js/radar_plot.js:162:9 g/< http://cdnjs.cloudflare.com/ajax/libs/d3/3.0.1/d3.v3.min.js:1:750 n http://cdnjs.cloudflare.com/ajax/libs/d3/3.0.1/d3.v3.min.js:1:1102 r http://cdnjs.cloudflare.com/ajax/libs/d3/3.0.1/d3.v3.min.js:2:22994

Precisamos entender o que está acontecendo......

[1] Fiz isso na mão, pelo shell do django, já que a importação não estava funcionando pelo browser [ #471 ]

leonardofl commented 6 years ago

Como vc fez a importação das casas? Se vc só roda cmsp.main(), a importação pro Elastic Search não acontece. Depois do cmsp.main() é preciso ainda:

from importadores import importador_elasticsearch
importador_elasticsearch.main()

Fiz isso agora de pouco (pra testar o outro PR) e tá funcionando legal. Vou fechar essa issue. Caso o procedimento q eu falei não resolva pra vc, pode reabrir a issue.

diraol commented 6 years ago

@leonardofl acho que vale documentar isso em algum lugar "for devs" não? Ou já tem e eu não vi?

leonardofl commented 6 years ago

Vou documentar no setup.