Il processo di creazione manuale di uno spazio di ricerca di Product Advisor richiede una richiede una buona conoscenza del sottosistema del catalogo e dello schema di database associato. Lo spazio di ricerca è costituito da tabelle di database aggiuntive contenenti informazioni estratte dalle seguenti tabelle standard di WebSphere Commerce:
Nota: Tali informazioni non sono valide per gli utenti iSeries. Invece, fare riferimento a creazione di uno spazio di
ricerca di Product Advisor mediante un file XML.
I passi riportati di seguito sono richiesti per creare le tabelle di database necessarie per supportare le ricerche di Product Advisor. Nei seguenti passi verranno fornite istruzioni SQL di esempio per creare uno spazio di ricerca semplice costituito da tabelle, visualizzazioni e indici appropriati. Queste istruzioni includono dati, quali l'ID di categoria e prodotto, che dovranno essere sostituiti con i propri dati. Vengono visualizzati a scopo dimostrativo. Nei casi in cui un'istruzione SQL restituisce dati, in modo particolare quando questi dati vengono utilizzati come immissione in un passo successivo, i dati restituiti verranno visualizzati in grassetto, racchiusi tra parentesi quadre e seguiranno l'istruzione SQL.
Nota: Gli esempi in questo file sono specifici per DB2. Gli utenti Oracle possono fare riferimento al programma di utilità di esempio appropriato per le istruzioni SQL specifiche per Oracle.
db2 "select distinct(attribute_id),language_id,attrtype_id,name
from attribute
dove
catentry_id in(select catentry_id from catgpenrel dove
catgroup_id=1)
order by attribute_id"
db2 create table ICT1
( PRRFNBR int not null,
PRNBR varchar(64) );
db2 create table ICTDESC1
( PRRFNBR int not null,
PRSDESC varchar(254),
AVAILABLE int not null,
PRTHMB varchar(254),
XMLDETAIL long varchar,
LANGUAGE_ID int not null,
F_COLOR char(254),
F_SIZE int,
Constraint ictd1_pk
primary key (prrfnbr,language_id) );
db2 create view ICV1_NULL as select ic.prrfnbr,
ic.prnbr,
icd.PRSDESC,
icd.AVAILABLE,
icd.PRTHMB,
icd.XMLDETAIL,
icd.LANGUAGE_ID,
icd.F_COLOR,
icd.F_SIZE,
p.ipsgnbr,
p.storeid,
p.ppprc,
p.setccurr
from ICTPRICES p, ICT1 ic, ICTDESC1 icd
where ic.PRRFNBR=p.CATENTRY_ID and
ic.PRRFNBR=icd.PRRFNBR and
p.IPSGNBR is NULL;
db2 "insert into icrootcat
(rootcategoryid,catgroup_id,pfpasync,pfreq,tablename,
lastmodified)
values
(1,1,0,1,'ICV1_','2000-06-15-14.48.25.686000')"
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(1, 1,'F_COLOR',254,'com.ibm.commerce.datatype.DsString',
0,1,1,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(2, 1,'F_SIZE',4,'com.ibm.commerce.datatype.DsInteger',
0,1,1,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(3, 1,'PRRFNBR',4,'com.ibm.commerce.datatype.DsInteger',
1,0,0,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(4,1,'PRNBR',254,'com.ibm.commerce.datatype.DsString',
0,0,0,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(5, 1,'PRSDESC',254,'com.ibm.commerce.datatype.DsString',
0,1,3,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(6, 1,'PRTHMB',254,'com.ibm.commerce.datatype.DsImage',
0,1,3,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(7, 1,'XMLDETAIL',32700,'com.ibm.commerce.datatype.DsURLLink',
0,1,3,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(8, 1,'PPPRC',16,'com.ibm.commerce.datatype.DsCurrency',
0,0,2,1,0);
db2 "insert into icexplfeat
(featureid,catgroup_id,columnname,length,datatype,keysequence,
nullable,location,included,relevance)
values
(9, 1,'AVAILABLE',4,'com.ibm.commerce.datatype.DsInteger',
0,0,3,1,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(1, 1,'Color','','Color',NULL,0,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(2, 1,'Size','','Size',NULL,0,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(3, 1,'CATENTRY_ID','','Product Reference Number',NULL,0,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(4, 1,'PARTNUMBER','','ProductNumber/SKU',NULL,0,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(5, 1,'SHORTDESCRIPTION','','Short Description',NULL,0,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(6, 1,'THUMBNAIL','','Thumbnail Image File',NULL,0,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(7, 1,'XMLDETAIL','','XML Detail',NULL,0,0);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(8, 1,'STANDARDPRICE','','MSRP',NULL,2,15);
db2 "insert into icexpldesc (featureid,language_id,name,
unitofmeasure,description,elaboration,scale,precision)
values
(9, 1,'AVAILABLE','','Availability',NULL,0,0);
db2 "insert into ict1 (select catentry_id,partnumber
from catentry where catentry_id in (select catentry_id
from catgpenrel where catgroup_id=1))"
db2 "import from catentry.del of del insert into ict1"
db2 "insert into ictdesc1 (PRRFNBR,PRSDESC,AVAILABLE,
PRTHMB,XMLDETAIL,LANGUAGE_ID)
(select c2.catentry_id,c2.shortdescription,c2.available,
c2.thumbnail, c2.xmldetail, c2.language_id
from catentry c1, catentdesc c2
where c1.catentry_id=c2.catentry_id
and c2.language_id=-1
and c2.published=1
and (c2.catentry_id in (select catentry_id from catgpenrel
where catgroup_id=1)))"
db2 "update ictdesc1 set F_Color =
(select stringvalue from attrvalue
where ictdesc1.prrfnbr=attrvalue.catentry_id
and ictdesc1.language_id=attrvalue.language_id
and attrvalue.attribute_id in
(select attribute_id from attribute
where name = 'Color')
and attrvalue.language_id=-1
and attrvalue.catentry_id in
(select catentry_id from catgpenrel
where catgroup_id=1))
where language_id=-1"
db2 "update ictdesc1 set F_Size =
(select integervalue from attrvalue
where ictdesc1.prrfnbr=attrvalue.catentry_id
and ictdesc1.language_id=attrvalue.language_id
and attrvalue.attribute_id in
(select attribute_id from attribute
where name = 'Size')
and attrvalue.language_id=-1
and attrvalue.catentry_id in
(select catentry_id from catgpenrel
where catgroup_id=1))
where language_id=-1"
db2 "insert into ictprices(storeid, catentry_id,setccurr,ppprc)
select storeent_id, catentry_id, currency, price
from storeent, offer, offerprice,tradeposcn
where storeent_id=0
and tradeposcn_id=offer.tradeposcn_id
and offer.offer_id=offerprice.offer_id
and tradeposcn.type='S'"
![]() |