[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