[plonegov-br] Problemas com a busca multifacetada

Leandro Koiti Sato shogunbr em gmail.com
Terça Abril 26 13:27:20 BRT 2016


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/20160426/5e33c8e3/attachment.html>


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