Closed GoogleCodeExporter closed 9 years ago
Btw při "indexace modelu" se asi nejprve spustí OPTIMIZE (podle délky
trvání první operace solr update). Což mimochodem způsobí to, že než to
doběhne (9 minut při 400 000 zaindexovaných objektech), tak ve správci
procesů to vypadá, že proces běží. Ale oba dva logy jsou prázdné. Pokud
je nutné tam tu operaci nechat, tak by bylo vhodné něco zalogovat třeba
"synchronizing index". Teď tam je tohle:
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.utils.conf.KConfiguration
findAllConfigurations
INFO: Replacing configuration file name from 'indexer-4.5.0-SNAPSHOT' to
'indexer.properties'
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.utils.conf.KConfiguration
findAllConfigurations
INFO: Replacing configuration file name from 'common-4.5.0-SNAPSHOT' to
'configuration.properties'
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.utils.conf.KConfiguration
findAllConfigurations
INFO: Replacing configuration file name from 'import-cmdtool-4.5.0-SNAPSHOT' to
'migration.properties'
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.indexer.Main main
INFO: process args: [krameriusModel, monograph, monograph]
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.processes.impl.ProcessStarter
updateName
INFO: requesting url
:http://10.2.201.104/search//lr?action=updateName&uuid=f7e119bc-019c-46a7-bd2e-5
a60dc9af451&name=Indexace+dokumentu%3A+monograph
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.indexer.Indexer <init>
INFO: Indexer initialized
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.indexer.Indexer run
INFO: Current index time: 3/16/12 1:12 PM
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.indexer.Indexer update
INFO: Update index...
Mar 16, 2012 1:12:18 PM cz.incad.kramerius.indexer.FedoraOperations updateIndex
INFO: updateIndex action=krameriusModel value=monograph
Mar 16, 2012 1:12:18 PM org.nsdl.mptstore.core.BasicTableManager mapTableExists
INFO: Found pre-existing map table
Mar 16, 2012 1:12:18 PM org.nsdl.mptstore.core.BasicTableManager loadMapTable
INFO: Loading map table
Mar 16, 2012 1:21:26 PM cz.incad.kramerius.indexer.SolrOperations krameriusModel
INFO: Indexing from kramerius model: monograph
Moc nechápu, jak to funguje. Samotný log se objevil asi v těch 13:21,
ačkoliv proces začal v 13:12 a něco se už v 13:12 logovalo. Jakoby ten
obsah logu čekal v nějakém bufferu. Pokud ano, tady by se hodil flush.
Original comment by Martin.R...@gmail.com
on 16 Mar 2012 at 1:35
Pak ještě k tomu optimize
"An optimize is like a hard commit except that it forces all of the index
segments to be merged into a single segment first. Depending on the use cases,
this operation should be performed infrequently (like nightly), if at all,
since it is very expensive and involves reading and re-writing the entire
index. Segments are normally merged over time anyway (as determined by the
merge policy), and optimize just forces these merges to occur immediately."
Indexace 777 stránkového dokumentu trvala 13 minut, z čehož optimize
zabralo 9 minut. S větším indexem tenhle zbytečný overhead ještě
poroste. Jaký je důvod k vynucení mergování po každé indexaci? A volá
se to docela často.
http://code.google.com/codesearch#3mxf-JGxK3E/trunk/indexer/src/cz/incad/krameri
us/indexer/SolrOperations.java
a navíc s dost matoucím logem
logger.log(Level.FINE, "indexDoc=\n{0}", sb.toString());
Original comment by Martin.R...@gmail.com
on 16 Mar 2012 at 2:12
This issue was updated by revision r3491.
Original comment by pavel.st...@gmail.com
on 20 Mar 2012 at 8:16
This issue was updated by revision r3493.
Original comment by alberto....@gmail.com
on 20 Mar 2012 at 9:13
Volání příkazu optimize je teď možno při hromadné indexaci vypnout
nastavením property indexer.runOptimize=false (defaultní hodnota je true) v
souboru indexer.properties. Jinak je optimalizace volána po každé
jednotlivé indexaci, protože to je asi jediný způsob, jak zaručit, ež se
efekt (re)indexace optavdu okamžitě projeví.
Original comment by vlah...@gmail.com
on 20 Mar 2012 at 12:26
Myslím, že optimize nemá s projevením změn v indexu nic společného. Je
to operace na vynucení mergování segmentů indexu. Což se provádí i tak a
jak často se to dějě se dá ovlivnit parametrem mergefactor. Je určená pro
optimalizaci vyhledávání v dále relativně neměnném indexu, což vůbec
není náš případ.
http://wiki.apache.org/solr/SolrPerformanceFactors#Optimization_Considerations
Změny v indexu se projeví po commitu. Když jsem si povolil autocommit, tak
se mi změny projevovaly okamžitě (resp. po indexaci 10 stránek) v průběhu
indexace jedné monoografie.
Original comment by Martin.R...@gmail.com
on 20 Mar 2012 at 12:59
Ano, je to přesně tak, jak říká Martin Řehánek. Pro projevení změn v
indexu slouží příkaz commit, použití optimize je nežádoucí a protahuje
neúměrně dobu indexace.
Original comment by xrose...@gmail.com
on 20 Mar 2012 at 1:14
This issue was updated by revision r3497.
Original comment by alberto....@gmail.com
on 20 Mar 2012 at 2:27
Ano, máte samozřejmě pravdu, omlouvám se za zmatek. V r3497 je volání
optimize nahrazeno voláním commit. Pomocí změny property
indexer.isSoftCommit na true můžete indexaci ještě zrychlit, změnou
defaultního hardCommit na softCommit.
Original comment by vlah...@gmail.com
on 20 Mar 2012 at 3:41
Moc bych prosil, aby, když do .properties přidáte nějaké nové nastavení,
jste toto přímo na místě náležitě okomentovali. Kdo toto issues nečte,
nemá moc naději pochopit o co jde. Moc bych prosil, kdyby se to stalo věcí
automatickou.
Original comment by Martin.B...@nkp.cz
on 21 Mar 2012 at 10:14
Original issue reported on code.google.com by
Martin.R...@gmail.com
on 16 Mar 2012 at 1:15Attachments: