Fórumok

Lucene indexes on BD

Alejandro López, módosítva 12 év-val korábban

Lucene indexes on BD

Junior Member Bejegyzések: 53 Csatlakozás dátuma: 2011.07.08. Legújabb bejegyzések
Hello!!

I have set Lucene indexes on BD, setting this parameter:

lucene.store.type=jdbc

I don't know if I should set any other parameters relatives to lucene indexes:
(I have 2 Liferay instances, but no cluster is set, only http balancer)

# Lucene's storage of indexes via JDBC has a bug where temp files are not
# removed. This can eat up disk space over time. Set this to true to
# automatically clean up the temporary files regularly. See LEP-2180.
#
#lucene.store.jdbc.auto.clean.up.enabled=true

If I set this parameter, I have to regenerate indexes all days, or searcher don't run. Don't setting, seems to run ok, but in theory I must set it.

Sorry about my english.

I'll wait for your suggestions.
thumbnail
Jan Gregor, módosítva 12 év-val korábban

RE: Lucene indexes on BD

Regular Member Bejegyzések: 224 Csatlakozás dátuma: 2010.10.20. Legújabb bejegyzések
Hi there,

What i see here is a wrong set-up, as the only correct way, how your 2 instances can work is cluster. Otherwise you will have inconsistence issues, caching problems etc. For storing indexes, the best option is to store them on filesystem and then share using clusterling, or eventuelly switch to SOLR. By storing them in DB there are some known performance issues and possible lock problems.

Regards,
Jan.
Alejandro López, módosítva 12 év-val korábban

RE: Lucene indexes on BD

Junior Member Bejegyzések: 53 Csatlakozás dátuma: 2011.07.08. Legújabb bejegyzések
Thanks for your response Jan.

For clustered environtments, I've read on "Liferay Administrator Guide 6" that for Lucene, the most recommended configuration is SOLR (or another plugin).
In second place, this book recommends storage of indexes in database.

I'm not the person who manage systems, I cannot touch any parameter of apache, or the application server. I only have access to portal-ext.properties.

The people who manage systems (web server, application server, ... ) don't gonna install SOLR or another plugin.

I don't have a cluster configurated on the application server (Weblogic), then, I think that a lot of "cluster parameters" in portal-ext.properties cannot be applied. Because I've only have a HTTP balancer, is don't a cluster really.

For example, I cannot set:
lucene.replicate.write=false

Because I don't have a cluster. Only two instances sharing the same database.

Then I think, my best option is share indexes accross database. At this time, the cache is disabled. Only Liferay Cache is running. And the users are planned to be "non registered users" (no content edit).

My doubt, if I shoult set another parameter to store on database. I only have:
lucene.store.type=jdbc

Seems to work fine. But I've read that for some bug I should set :

# Lucene's storage of indexes via JDBC has a bug where temp files are not
# removed. This can eat up disk space over time. Set this to true to
# automatically clean up the temporary files regularly. See LEP-2180.
#
lucene.store.jdbc.auto.clean.up.enabled=true

But this parameter, force me to regenerate index all days (in Liferay Portal Administration), or searcher don't run.
Maybe, I should put this parameter with this:
lucene.store.jdbc.auto.clean.up.interval=1440 (but with a high value)

Greetings!

pd: sorry about my poor english