Difference between revisions of "SMILA/FAQ"

From Eclipsepedia

Jump to: navigation, search
Line 48: Line 48:
 
* <tt>org.eclipse.update/</tt>
 
* <tt>org.eclipse.update/</tt>
  
==== I changed bundle startup settings in my config.ini, but after SMILA restart nothing changed ====
+
==== I changed bundle settings in my <tt>config.ini</tt>, but after SMILA restart nothing changed ====
  
see last question (resp. answer)
+
Check your <tt>config.ini</tt> for unusual whitespaces (e.g. a tab) between the (edited) bundle entries - and remove them.
 +
 
 +
If that doesn't help, see question (resp. answer) before.
  
  
Line 65: Line 67:
 
# Click the ''Connect'' button, switch to the ''MBeans'' tab, and check the tree again.
 
# Click the ''Connect'' button, switch to the ''MBeans'' tab, and check the tree again.
  
==== Why is the ''SMILA/CrawlerController MBean'' not in the JConsole tree? ====
+
==== Why is the ''SMILA/CrawlerController'' MBean not in the JConsole tree? ====
  
 
Check if all needed bundles are active. Open the equinox console and type:
 
Check if all needed bundles are active. Open the equinox console and type:
Line 81: Line 83:
 
=== Crawler ===
 
=== Crawler ===
  
==== I tried to crawl/index a data source but nothing seem to happen ====
+
==== I tried to crawl/index a data source, JConsole says "Crawl ... sucessfully started" but nothing seem to happen ====
  
 
Check if your queue is receiving records:
 
Check if your queue is receiving records:
* Open the JConsole's MBeans tab and go to  
+
# Open the JConsole's MBeans tab and go to: <code>org.apache.activemq/localhost/Queue/<queue>/Attributes
 
+
# if <code>EnqueueCount</code> is increased your queue is receiving records, so it's not a crawler issue.
  
 +
If your queue didn't receive any records from the crawler:
 
# Did you crawl the data source before? If so, try a <code>clearAll</code> on the DeltaIndexing-MBean in your JConsole
 
# Did you crawl the data source before? If so, try a <code>clearAll</code> on the DeltaIndexing-MBean in your JConsole
 +
# Check your crawler configuration file (see <tt>configuration/org.eclipse.smila.connectivity.framework/</tt>)
 +
# Check the queue routing configuration: <tt>org.eclipse.smila.connectivity.queue.worker/QueueWorkerRouterConfig.xml</tt>
 +
# Check the queue connection: <tt>org.eclipse.smila.connectivity.queue.worker/QueueWorkerConnectionConfig.xml</tt>
 +
# If queue is running in a separate SMILA instance (e.g. on another PC), make sure that "Queue-SMILA" is started before "Crawler-SMILA"
 +
 +
  
 
=== Pipeline ===  
 
=== Pipeline ===  
Line 99: Line 108:
 
=== Lucene Indexing / Search ===
 
=== Lucene Indexing / Search ===
  
==== How can I browse/search an existing Lucene Index? ====
+
==== How can I browse/search an existing Lucene index? ====
  
 
Try [http://www.getopt.org/luke/ LUKE]
 
Try [http://www.getopt.org/luke/ LUKE]
Line 114: Line 123:
  
 
Still the same problem?
 
Still the same problem?
* Close SMILA, remove '''workspace''' file (if exists): <tt>workspace/org.eclipse.smila.search.datadictionary/DataDictionary.xml</tt> and restart SMILA
+
* Close SMILA, remove file (if exists): <tt>workspace/org.eclipse.smila.search.datadictionary/DataDictionary.xml</tt> and restart SMILA
  
==== SMILA doesn't return search results, although I see (e.g. via LUKE) appropriate entries for my query in the Lucene index ====
+
==== SMILA doesn't return search results, although I see appropriate entries for my query in the Lucene index ====
  
 
Open the file: <tt>configuration/org.eclipse.smila.search.datadictionary/DataDictionary.xml</tt>
 
Open the file: <tt>configuration/org.eclipse.smila.search.datadictionary/DataDictionary.xml</tt>
Line 132: Line 141:
  
 
Configuration files are searched for in the following order:
 
Configuration files are searched for in the following order:
# <tt>configuration/<bundle-name>/<config-file></tt>
+
# <tt><SMILA>/configuration/<bundle-name>/<config-file></tt>
 
# <tt><config-file></tt> in the root path of the bundle jar-file
 
# <tt><config-file></tt> in the root path of the bundle jar-file
  
Line 140: Line 149:
  
 
Check your new bundle, it should contain a file like that:
 
Check your new bundle, it should contain a file like that:
* <tt>OSGI-INF/<mySevice>.xml</tt>
+
* <tt>OSGI-INF/<myService>.xml</tt>
 
+
In this file your new processing service should be referenced.
+
 
+
 
+
 
+
 
+
  
 +
In this file your new processing service has to be referenced.
  
  

Revision as of 08:01, 6 May 2009

This pages contains the frequently asked questions of the SMILA project.

Contents

Building SMILA

I receive an Out of Memory error? What can I do?

While building with SMILA.builder I receive the following errror message:

Build Failed - Out of Memory - Java heap space

The reason for this is that Ant hasn´t enough heap space to build the project. You will have to expand the heap space by setting the VM arguments accordingly. In eclipse try the following:

  1. Click Open external tools dialog and select your Ant build profile.
  2. Switch to the JRE tab and add the following VM arguments: -Xms40m -Xmx512m.
  3. Save and build again.


Launching SMILA

Bundles

Launching crawler bundles - How do I overcome the Could not find crawler id error message?

While launching SMILA I receive the following error message:

Could not find crawler id

If you started SMILA.launch to launch SMILA: The launcher didn't start your new crawler bundle. Try this:

  1. Add your bundle by selecting "Open Run dialog" in eclipse and choose your SMILA profile.
  2. Select your bundle in the list and set the checkmark.
  3. Set the start level to "4" and the autostart to "true".

If you started SMILA.EXE to launch SMILA: Your bundle isn`t defined in config.ini or the start level isn´t correct. Try this:

  1. Open the file config.ini and add your bundle as show below:
    org.eclipse.smila.connectivity.framework.crawler.owncrawler@5:start, \
  2. Open the build.properties file of your bundle and include the folders schemas/, OSGI-INF/, and the file plugin.xml.

I changed the implementation of a bundle, deployed it and restarted SMILA, but SMILA still seems to use the old bundle

Close SMILA, delete the following directories in your configuration folder and restart SMILA again:

  • org.eclipse.core.runtime/
  • org.eclipse.equinox.app/
  • org.eclipse.osgi/
  • org.eclipse.update/

I changed bundle settings in my config.ini, but after SMILA restart nothing changed

Check your config.ini for unusual whitespaces (e.g. a tab) between the (edited) bundle entries - and remove them.

If that doesn't help, see question (resp. answer) before.


JConsole

Why is the SMILA package not in the JConsole tree?

I've started SMILA.exe but the SMILA package isn't in the tree of JConsole.

To solve this try the following:

  1. Create a new connection.
  2. Change your connection by setting the port "9004" on the Remote tab.
  3. Click the Connect button, switch to the MBeans tab, and check the tree again.

Why is the SMILA/CrawlerController MBean not in the JConsole tree?

Check if all needed bundles are active. Open the equinox console and type:

  • ss crawler
  • ss deltaindexing.impl

If one of these is not active:

  • check the configuration/config.ini
  • check the log file for errors


Configuring/Running SMILA

Crawler

I tried to crawl/index a data source, JConsole says "Crawl ... sucessfully started" but nothing seem to happen

Check if your queue is receiving records:

  1. Open the JConsole's MBeans tab and go to: org.apache.activemq/localhost/Queue/<queue>/Attributes
  2. if <code>EnqueueCount is increased your queue is receiving records, so it's not a crawler issue.

If your queue didn't receive any records from the crawler:

  1. Did you crawl the data source before? If so, try a clearAll on the DeltaIndexing-MBean in your JConsole
  2. Check your crawler configuration file (see configuration/org.eclipse.smila.connectivity.framework/)
  3. Check the queue routing configuration: org.eclipse.smila.connectivity.queue.worker/QueueWorkerRouterConfig.xml
  4. Check the queue connection: org.eclipse.smila.connectivity.queue.worker/QueueWorkerConnectionConfig.xml
  5. If queue is running in a separate SMILA instance (e.g. on another PC), make sure that "Queue-SMILA" is started before "Crawler-SMILA"


Pipeline

Why do I get a timeout exception during a (long running) pipeline execution?

In SMILA there's a timeout configured for a pipeline execution:

org.eclipse.smila.processing.bpel/processor.properties

See entry: pipeline.timeout

Lucene Indexing / Search

How can I browse/search an existing Lucene index?

Try LUKE

Why are attributes in my Lucene index missing / permuted?

Open your configuration files:

  • configuration/org.eclipse.smila.lucene/Mappings.xml
  • configuration/org.eclipse.smila.search.datadictionary/DataDictionary.xml

Check:

  • if all index fields are specified in these two files
  • if the field numbers are compatible to each other

Still the same problem?

  • Close SMILA, remove file (if exists): workspace/org.eclipse.smila.search.datadictionary/DataDictionary.xml and restart SMILA

SMILA doesn't return search results, although I see appropriate entries for my query in the Lucene index

Open the file: configuration/org.eclipse.smila.search.datadictionary/DataDictionary.xml

  • Check the Constraint entries for all fields: All fields that are set required must contain the query string!

Still problems? Try removing the workspace version of that file if it exists:

  • Close SMILA, remove workspace/org.eclipse.smila.search.datadictionary/DataDictionary.xml, and restart SMILA.


Implementing Pipelets / Processing Services / Bundles

Configuration

I want to use the ConfigUtils class in my Processing Service to read the configuration, where do I have to put my configuration files?

Configuration files are searched for in the following order:

  1. <SMILA>/configuration/<bundle-name>/<config-file>
  2. <config-file> in the root path of the bundle jar-file

Deploy / Launch

I implemented a Processing Service in a new bundle but SMILA log says that it couldn't be found

Check your new bundle, it should contain a file like that:

  • OSGI-INF/<myService>.xml

In this file your new processing service has to be referenced.