Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Platform - User Assistance (UA) » How make infocenter use pre-built plugin indexes?
How make infocenter use pre-built plugin indexes? [message #473804] Fri, 23 May 2008 04:55 Go to next message
Ian is currently offline Ian
Messages: 7
Registered: July 2009
Junior Member
I'm testing alternative ways to provide pre-built help search indexes for
use with an infocenter served on the Web. We have a lot of doc plug-ins
that are added and updated in independently, published by different teams,
and used in a variety of infocenters, so I thought it better to pre-build
the search index for each plug-in rather than pre-build for the entire
infocenter (product search index).

I cannot seem to get the Eclipse help to use the index pre-built in each
plug-in. I've timed some search tests, and the effect and time is the same
for both 1) no search index and 2) pre-built plug-in search indexes. In
both cases, the Eclipse help builds the search index when the first search
is performed. Having pre-built search index for each plug-in does not
seem to make this any faster.

Is there anything special I should do tell Eclipse help to use pre-built
plugin search indexes?

What effect should I expect to see on first search?

Note: When using a pre-built product index, the search is instant without
any "Indexing..." delay. Adding a plug-in with a pre-built plugin search
index seems to put the help into an "Indexing..." loop, hanging on 0%
complete, although I have the index built, the pre-built product index,
and the pre-built plugin index!

Scenarios:
1) Publish plug-ins to new infocenter (want instant search index from
pre-built plugin indexes - but could live with pre-built product index
first time)
2) Add new plug-ins (want to update index to add pre-built plugin index)
3) Add new version of a plug-in (want to update index to replace plugin
results with new version pre-built plugin index)

So, after all the waffle :-)

Is there anything special I should do tell Eclipse help to use pre-built
plugin search indexes?

Regards,
Ian
Re: How make infocenter use pre-built plugin indexes? [message #473808 is a reply to message #473804] Fri, 23 May 2008 09:01 Go to previous messageGo to next message
Eclipse User
Originally posted by: nospam_kowalskilee.gmail.com

Hi Ian,

What version of the Eclipse infocenter are you using? What level of Eclipse?

Best regards,
Lee Anne

Ian wrote:
> I'm testing alternative ways to provide pre-built help search indexes
> for use with an infocenter served on the Web. We have a lot of doc
> plug-ins that are added and updated in independently, published by
> different teams, and used in a variety of infocenters, so I thought it
> better to pre-build the search index for each plug-in rather than
> pre-build for the entire infocenter (product search index).
>
> I cannot seem to get the Eclipse help to use the index pre-built in each
> plug-in. I've timed some search tests, and the effect and time is the
> same for both 1) no search index and 2) pre-built plug-in search
> indexes. In both cases, the Eclipse help builds the search index when
> the first search is performed. Having pre-built search index for each
> plug-in does not seem to make this any faster.
>
> Is there anything special I should do tell Eclipse help to use pre-built
> plugin search indexes?
>
> What effect should I expect to see on first search?
>
> Note: When using a pre-built product index, the search is instant
> without any "Indexing..." delay. Adding a plug-in with a pre-built
> plugin search index seems to put the help into an "Indexing..." loop,
> hanging on 0% complete, although I have the index built, the pre-built
> product index, and the pre-built plugin index!
>
> Scenarios:
> 1) Publish plug-ins to new infocenter (want instant search index from
> pre-built plugin indexes - but could live with pre-built product index
> first time)
> 2) Add new plug-ins (want to update index to add pre-built plugin index)
> 3) Add new version of a plug-in (want to update index to replace plugin
> results with new version pre-built plugin index)
>
> So, after all the waffle :-)
>
> Is there anything special I should do tell Eclipse help to use pre-built
> plugin search indexes?
>
> Regards,
> Ian
>
>
>
>
>
>
Re: How make infocenter use pre-built plugin indexes? [message #473810 is a reply to message #473808] Fri, 23 May 2008 10:38 Go to previous messageGo to next message
Ian is currently offline Ian
Messages: 7
Registered: July 2009
Junior Member
Lee Anne, thanks for the response!

I'm using Eclipse help version 3.1 (standalone, not part of Eclipse IDE)
eclipse.buildId=M20050929-0840

I'm creating the pre-built search index using Eclipse 3.3.0

My original append contained a red-herring... The looping was for a
separate problem with a plug-in manifest, which I fixed.

More observations are:
1) Remove index directory from plugin.xml, Help startup complains - so
index is being checked for... (reinstate index directory)
2) Add plug-in without pre-built index. Delay seems the same as adding
that plug-in with a pre-built index

Some times measured for first search in a small infocenter, for a new
startup (no folders under eclipse/configuration):
- ...with pre-built product index (all doc in /plugins) = instant (<2secs)
- ...with pre-built product index + 1 extra plug-in = 20secs
- ...with separate pre-built index for each plug-in = 1min

Regards,
Ian
Re: How make infocenter use pre-built plugin indexes? [message #473812 is a reply to message #473810] Fri, 23 May 2008 12:16 Go to previous messageGo to next message
Eclipse User
Originally posted by: nospam_kowalskilee.gmail.com

Hi Ian,

So, just to confirm, the "hanging on 0" complete" that you mentioned in
your initial post--you've fixed that, right?

I'm not completely convinced that timing the search speed is the most
accurate test of the question "Is Eclipse using the pre-built indexes or
not?"

I mean, each pre-index is a zip file (doc_index.zip). When Eclipse
runtime starts up, it has to figure out what plug-ins to load up, and it
builds the directories under eclipse/configuration. (For example, at
startup, that's when the org.eclipse.osgi directory gets created under
eclipse/configuration).

At some point in time, Eclipse has to take each of those doc_index.zip
files and unpack them appropriately to create the:
eclipse/configuration/org.eclipse.help.base/index/en_US/* set of files
that is the collection that represents the search index for the active
doc configuration.

Those set of steps (in turn, get each doc_index.zip file, unpack it, add
contents to org.eclipse.help.base/index/en_US/*) has to be done for each
doc_index.zip file--so it makes sense that as there are more
doc_index.zip files, something is going to take longer.

What I'm not sure of is what that "something" is that will take longer.
I had thought that the unpacking of each doc_index.zip would take place
during runtime startup, and not at initial search use.

Lastly, maybe better test for the question "Is Eclipse using the
pre-built indexes or not?" might be the following:
a. Create pre-built indexes as usual.
b. Then, after they're built, alter one of the topic HTML files to have
some word that you know is not in the rest of the files (like Poodle)
c. Then, with a clean eclipse/configuration, start up Eclipse and then
try a search for Poodle.

The predicted outcome would be that if Eclipse is using the pre-built
indexes, then a search for "Poodle" would fail. If Eclipse is not using
the pre-built indexes and instead re-indexing the topics, then a search
for "Poodle" would succeed--because the term would have gotten indexed
in the re-indexing.

What do you think?

Best regards,
Lee Anne
Re: How make infocenter use pre-built plugin indexes? [message #473816 is a reply to message #473812] Tue, 27 May 2008 11:38 Go to previous message
Ian is currently offline Ian
Messages: 7
Registered: July 2009
Junior Member
Lee Anne
Thanks. Yes the "hanging on 0" is fixed.

The important measurement is the time that the Eclipse help system takes
to build the search index. If the time to build the search index is more
than (a few 10s of) seconds, then it is too long; hence the desire to
provide pre-built search indexes.

The pre-built search index for an individual plug-in is a /index directory
... not a doc_index.zip.

I'd expect some slight delay with the merging of the plug-in indexes, but
for one plug-in would not expect more than an instant (<5secs).

I ran the "poodle" sanity check :-) and found that the pre-built plugin
index was being ignored (because the "poodle" was found but not from that
index).

I've just got some more positive results. The plug-in index build (using
a later version of Eclipse) was a problem. I put the one plug-in in an
Eclipse infocenter ("the plug-in infocenter") at the same version as the
main infocenter ("product" index), then built the plug-in index in exactly
the same way as the product index. This put the plug-in index files in
configuration\org.eclipse.help.base\index\en of the plug-in infocenter. I
copied those files to the plug-in in the main infocenter, and when
performing the first search there, the complete search index was built
very quickly and the results limited to the pre-built indexes from
doc_index.zip + plug-in/index folder.

So, it looks like I can pre-build a search index for an individual
plug-in, and get that used by the help system on first search. Now I'll
just have to check the timing effect of all plug-ins being provided with
their own search index Vs providing only one pre-built "product" search
index.

Regards,
Ian
Re: How make infocenter use pre-built plugin indexes? [message #614386 is a reply to message #473804] Fri, 23 May 2008 09:01 Go to previous message
Eclipse User
Originally posted by: nospam_kowalskilee.gmail.com

Hi Ian,

What version of the Eclipse infocenter are you using? What level of Eclipse?

Best regards,
Lee Anne

Ian wrote:
> I'm testing alternative ways to provide pre-built help search indexes
> for use with an infocenter served on the Web. We have a lot of doc
> plug-ins that are added and updated in independently, published by
> different teams, and used in a variety of infocenters, so I thought it
> better to pre-build the search index for each plug-in rather than
> pre-build for the entire infocenter (product search index).
>
> I cannot seem to get the Eclipse help to use the index pre-built in each
> plug-in. I've timed some search tests, and the effect and time is the
> same for both 1) no search index and 2) pre-built plug-in search
> indexes. In both cases, the Eclipse help builds the search index when
> the first search is performed. Having pre-built search index for each
> plug-in does not seem to make this any faster.
>
> Is there anything special I should do tell Eclipse help to use pre-built
> plugin search indexes?
>
> What effect should I expect to see on first search?
>
> Note: When using a pre-built product index, the search is instant
> without any "Indexing..." delay. Adding a plug-in with a pre-built
> plugin search index seems to put the help into an "Indexing..." loop,
> hanging on 0% complete, although I have the index built, the pre-built
> product index, and the pre-built plugin index!
>
> Scenarios:
> 1) Publish plug-ins to new infocenter (want instant search index from
> pre-built plugin indexes - but could live with pre-built product index
> first time)
> 2) Add new plug-ins (want to update index to add pre-built plugin index)
> 3) Add new version of a plug-in (want to update index to replace plugin
> results with new version pre-built plugin index)
>
> So, after all the waffle :-)
>
> Is there anything special I should do tell Eclipse help to use pre-built
> plugin search indexes?
>
> Regards,
> Ian
>
>
>
>
>
>
Re: How make infocenter use pre-built plugin indexes? [message #614387 is a reply to message #473808] Fri, 23 May 2008 10:38 Go to previous message
Ian is currently offline Ian
Messages: 7
Registered: July 2009
Junior Member
Lee Anne, thanks for the response!

I'm using Eclipse help version 3.1 (standalone, not part of Eclipse IDE)
eclipse.buildId=M20050929-0840

I'm creating the pre-built search index using Eclipse 3.3.0

My original append contained a red-herring... The looping was for a
separate problem with a plug-in manifest, which I fixed.

More observations are:
1) Remove index directory from plugin.xml, Help startup complains - so
index is being checked for... (reinstate index directory)
2) Add plug-in without pre-built index. Delay seems the same as adding
that plug-in with a pre-built index

Some times measured for first search in a small infocenter, for a new
startup (no folders under eclipse/configuration):
- ...with pre-built product index (all doc in /plugins) = instant (<2secs)
- ...with pre-built product index + 1 extra plug-in = 20secs
- ...with separate pre-built index for each plug-in = 1min

Regards,
Ian
Re: How make infocenter use pre-built plugin indexes? [message #614388 is a reply to message #473810] Fri, 23 May 2008 12:16 Go to previous message
Eclipse User
Originally posted by: nospam_kowalskilee.gmail.com

Hi Ian,

So, just to confirm, the "hanging on 0" complete" that you mentioned in
your initial post--you've fixed that, right?

I'm not completely convinced that timing the search speed is the most
accurate test of the question "Is Eclipse using the pre-built indexes or
not?"

I mean, each pre-index is a zip file (doc_index.zip). When Eclipse
runtime starts up, it has to figure out what plug-ins to load up, and it
builds the directories under eclipse/configuration. (For example, at
startup, that's when the org.eclipse.osgi directory gets created under
eclipse/configuration).

At some point in time, Eclipse has to take each of those doc_index.zip
files and unpack them appropriately to create the:
eclipse/configuration/org.eclipse.help.base/index/en_US/* set of files
that is the collection that represents the search index for the active
doc configuration.

Those set of steps (in turn, get each doc_index.zip file, unpack it, add
contents to org.eclipse.help.base/index/en_US/*) has to be done for each
doc_index.zip file--so it makes sense that as there are more
doc_index.zip files, something is going to take longer.

What I'm not sure of is what that "something" is that will take longer.
I had thought that the unpacking of each doc_index.zip would take place
during runtime startup, and not at initial search use.

Lastly, maybe better test for the question "Is Eclipse using the
pre-built indexes or not?" might be the following:
a. Create pre-built indexes as usual.
b. Then, after they're built, alter one of the topic HTML files to have
some word that you know is not in the rest of the files (like Poodle)
c. Then, with a clean eclipse/configuration, start up Eclipse and then
try a search for Poodle.

The predicted outcome would be that if Eclipse is using the pre-built
indexes, then a search for "Poodle" would fail. If Eclipse is not using
the pre-built indexes and instead re-indexing the topics, then a search
for "Poodle" would succeed--because the term would have gotten indexed
in the re-indexing.

What do you think?

Best regards,
Lee Anne
Re: How make infocenter use pre-built plugin indexes? [message #614390 is a reply to message #473812] Tue, 27 May 2008 11:38 Go to previous message
Ian is currently offline Ian
Messages: 7
Registered: July 2009
Junior Member
Lee Anne
Thanks. Yes the "hanging on 0" is fixed.

The important measurement is the time that the Eclipse help system takes
to build the search index. If the time to build the search index is more
than (a few 10s of) seconds, then it is too long; hence the desire to
provide pre-built search indexes.

The pre-built search index for an individual plug-in is a /index directory
... not a doc_index.zip.

I'd expect some slight delay with the merging of the plug-in indexes, but
for one plug-in would not expect more than an instant (<5secs).

I ran the "poodle" sanity check :-) and found that the pre-built plugin
index was being ignored (because the "poodle" was found but not from that
index).

I've just got some more positive results. The plug-in index build (using
a later version of Eclipse) was a problem. I put the one plug-in in an
Eclipse infocenter ("the plug-in infocenter") at the same version as the
main infocenter ("product" index), then built the plug-in index in exactly
the same way as the product index. This put the plug-in index files in
configuration\org.eclipse.help.base\index\en of the plug-in infocenter. I
copied those files to the plug-in in the main infocenter, and when
performing the first search there, the complete search index was built
very quickly and the results limited to the pre-built indexes from
doc_index.zip + plug-in/index folder.

So, it looks like I can pre-build a search index for an individual
plug-in, and get that used by the help system on first search. Now I'll
just have to check the timing effect of all plug-ins being provided with
their own search index Vs providing only one pre-built "product" search
index.

Regards,
Ian
Previous Topic:Removing the 'question mark' in the wizard
Next Topic:Migrating Eclipse 3.2 Help system to 3.3 - language packs
Goto Forum:
  


Current Time: Tue Jul 22 09:29:10 EDT 2014

Powered by FUDForum. Page generated in 0.02143 seconds