[plonegov-br] Problemas com a busca multifacetada

Leandro Koiti Sato shogunbr em gmail.com
Quinta Abril 28 10:04:45 BRT 2016


Informação adicional: o problema ocorre quando algum conteúdo do portal
esteja tagueado com acentos, no caso, o portal padrão já vem povoado alguns
itens com a tag "Previdência Social".
Se excluirmos todos os itens com tags com acentos, não gera erro.
Entretanto, não é problema só com a tag pré-povoada, já que se criarmos
outras tags com acentos, volta a dar o erro.

Esse problema não ocorre em uma instalação do Plone com o EEA Faceted, sem
a instalação do portal padrão.
No Plone normal, é possível fazer buscas, tipo:  {'Subject': {'operator':
'or', 'query': u'Tag 1'}}, mesmo existindo tags com acento no catalog.

Já se fizermos a mesma busca no portal padrão e existir alguma tag com
acentos, ele vai dar o UnicodeDecodeError.

Acredito que  alguma modificação do portal padrão esteja misturando unicode
e strings no índice "Subject" do Catalog.

Alguém consegue verificar isso?


--
Leandro Koiti Sato
shogunbr em gmail.com


2016-04-26 13:27 GMT-03:00 Leandro Koiti Sato <shogunbr em gmail.com>:

> Boa tarde, pessoal.
>
> Estou com problemas na busca multifacetada.
> Criei uma busca com o widget de checkboxes para buscar no índice de Tags,
> operador OR.
> Como exemplo, vou usar o vocabulário brasil.gov.tipos, mas o erro dá em
> vocabulários criados com o ATVocabularyManager, ou nos outros vocabulários
> pré-existentes.
> Coloquei um widget de debug, para ver a busca que ele faz.
>
> Ao selecionar apenas um dos itens dos checkboxes, por exemplo, 'Arquivo'
> (File).
> Ele vai gerar uma consulta:
>
> {'Language': ['pt-br', ''],
>  'Subject': {'operator': 'or', 'query': u'File'},
>  'facet.field': [u'Subject'],
>  'sort_on': u'effective',
>  'sort_order': 'descending'}
>
> Isso faz com que a busca não retorne nada como resultado e gera um erro no
> log:
>
> 2016-04-26 17:45:06 ERROR eea.facetednavigation.browser.app.query 'ascii'
> codec can't decode byte 0xc3 in position 6: ordinal not in range(128)
> Traceback (most recent call last):
>   File
> "/home/plonegovbr/portal.buildout/eggs/eea.facetednavigation-8.9-py2.7.egg/eea/facetednavigation/browser/app/query.py",
> line 144, in query
>     brains = catalog(self.context, **query)
>   File
> "/home/plonegovbr/portal.buildout/eggs/eea.facetednavigation-8.9-py2.7.egg/eea/facetednavigation/search/catalog.py",
> line 110, in __call__
>     return search(**newquery)
>   File
> "/home/plonegovbr/portal.buildout/eggs/Products.CMFPlone-4.3.7-py2.7.egg/Products/CMFPlone/CatalogTool.py",
> line 393, in searchResults
>     return ZCatalog.searchResults(self, REQUEST, **kw)
>   File
> "/home/plonegovbr/portal.buildout/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/ZCatalog/ZCatalog.py",
> line 604, in searchResults
>     return self._catalog.searchResults(REQUEST, used, **kw)
>   File
> "/home/plonegovbr/portal.buildout/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/ZCatalog/Catalog.py",
> line 925, in searchResults
>     return self.search(args, sort_index, reverse, sort_limit, _merge)
>   File
> "/home/plonegovbr/portal.buildout/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/ZCatalog/Catalog.py",
> line 545, in search
>     r = _apply_index(query, rs)
>   File
> "/home/plonegovbr/portal.buildout/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/PluginIndexes/common/UnIndex.py",
> line 403, in _apply_index
>     s = index.get(k, None)
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 6:
> ordinal not in range(128)
>
>
>
> Ao selecionar dois ou mais itens no checkbox, ele gera uma busca:
>
> {'Language': ['pt-br', ''],
>  'Subject': {'operator': 'or', 'query': ['File', 'Audio']},
>  'facet.field': [u'Subject'],
>  'sort_on': u'effective',
>  'sort_order': 'descending'}
>
> Neste caso, não dá nenhum erro e a busca retorna normalmente as páginas
> com as respectivas tags.
> Alguém tem alguma ideia de como resolver isso?
>
> Quais versões do portal padrão, busca multifacetada e eea faceted
> navigation estão rodando no site da SECOM e Planalto que tem a busca
> funcionando?
>
> Meu ambiente:
> Portal Padrão 1.1.4
> Plone 4.3.7 (4311)
> CMF 2.2.9
> Zope 2.13.23
> Python 2.7.3 (default, Mar 13 2014, 11:03:55) [GCC 4.7.2]
> PIL 2.7.0 (Pillow)
>  .gov.br: Busca Multifacetada 1.0a1
> EEA Faceted Navigation 8.9 (na 8.8 deu o mesmo problema)
>
> --
> Leandro Koiti Sato
> shogunbr em gmail.com
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.interlegis.gov.br/pipermail/plonegov-br/attachments/20160428/11ccd002/attachment.html>


Mais detalhes sobre a lista de discussão PloneGov-BR