[Plone-IT] zcatalog: da mysql a keywordindex

Stefano Guglia stefano.guglia a eutelia.com
Mar 24 Feb 2009 13:43:16 UTC


Il Tuesday 24 February 2009 10:06:23 Yuri ha scritto:
> Stefano Guglia ha scritto:
> > Il Monday 23 February 2009 17:03:40 Yuri ha scritto:
> >> Stefano Guglia ha scritto:
> >>> Salve a tutti. Sono tornato su un vecchio problema e ho dei dubbi.
> >>>
> >>> Ho la necessita' di indicizzare un recordset (fin qui tutto bene) e una
> >>> stringa di valori separati da virgola come keywords in un
> >>> keywordindex di zcatalog.
> >>> Tali valori provengono da un singolo campo text mysql in questa forma:
> >>> ['valore1','valore2'].
> >>> problema: a cose fatte, andando a vedere il manage_objectInformation di
> >>> uno qualsiasi degli oggetti in portal_catalog:
> >>>
> >>> Metadata Contents
> >>> ...
> >>> id    123456789
> >>> MioKwIndex   ['valore1','valore2']
> >>> ...
> >>> Index Contents
> >>> ...
> >>> id    123456789
> >>> MioKwIndex  ["['valore1','valore2']"]
> >>> ...
> >>>
> >>> cioe' il contenuto del campo mysql non viene trattato come lista ma,
> >>> legittimamente, come stringa e quindi inserito come valore singolo.
> >>
> >> devi indicizzare uno script che ritorni il valore trasformato in lista
> >> (o diviso da spazio), ad esempio, e non il valore in se.
> >
> > grazie. Non mi e' pero' chiaro..espongo il caso pratico:
> >
> > for dati in context.query_05:
> >  oggetto=container.virtual_url_path() + '/miadestinazione'
> >  my_catalog.catalog_object(dati,oggetto)
>
> In questo caso devi cambiare dati. Il keyword index presuppone una
> stringa separata da spazi, se non sbaglio. Quindi invece di
>
> ['ciao','bello']
>
> devi passare
>
> ciao bello

purtroppo niente da fare:

...
"valore1 valore2" AS MioKwIndex
...
passa esattamente quello..una stringa. Il risultato in MioKwIndex e' una 
singola chiave, indicizzata come ['valore1 valore2'] e non, come dovrebbe,  
['valore1','valore2']  uffffff...

Non vorrei trovarmi a riscrivere il codice (ma come?) solo per dover 
aggiungere al quicksearch (che peraltro funziona benissimo) un form di 
ricerca a lista predefinita.

saluti a tutti..
-- 


Cordiali saluti,

Stefano Guglia
Vicolo dell' Edera 4
34127 Trieste

+39 040 575739
+39 349 3722420




Maggiori informazioni sulla lista Plone-IT