<
Neerav Mehta
Founder & CEO
Install jdk first http://www.oracle.com/technetwork/java/javase/downloads/index.html
Download apache solr from: http://lucene.apache.org/solr/
Extract it anywhere. Open command prompt. Go to the directory folder for the following path: apache-solr-3.6.2/example/
Now to start solr, execute: java –jar start.jar
Solr has inbuilt data for testing purposes. Using this command "java -jar post.jar *.xml", we can add the data to solr indexing to test if its working fine or not. The instructions are given here: http://lucene.apache.org/solr/api-3_6_2/doc-files/tutorial.html
We can check if solr is working fine or not with this link: http://localhost:8983/solr/admin/ping
Now press ctrl+c to stop apache solr
For this, we need the MySQL connector which will establish connection between apache solr and mysql: http://www.mysql.com/downloads/connector/j/
Extract the zip file and copy the .jar file to apache-solr-3.6.2/example/lib directory
Now we need to add “data Import” request handler that will create a url to import data from the database. We need to add a request handler to solrconfig.xml file, and also need to define a file where we will define which table and fields needs to be indexed. The handler code is as follows:
More details are available at http://wiki.apache.org/solr/DataImportHandler
Now the data-config.xml file will be something like this: More details on this is also available on the same page - http://wiki.apache.org/solr/DataImportHandler
data-config.xml
Next is the schema.xml file where you need to describe about the fieldtype you are using and the field information. You will find more details on schema.xml here:http://wiki.apache.org/solr/SchemaXml The files we discussed will be placed at E:/apache-solr-3.6.2/example/solr/conf. Please take a backup of the original file first
Check if the information added to the file is right or not by executing the ping.- http://localhost:8983/solr/admin/ping
Now we need to import data of configured database by using this link: http://localhost:8983/solr/dataimport?command=full-import
Get the php client library from: http://code.google.com/p/solr-php-client/
Then we need to create a php file which will make a call using that library. The code of that php file will be like this:
require_once( 'SolrPHPClient/Apache/Solr/Service.php' );
$solr = new Apache_Solr_Service( 'localhost', '8983', 'solr/');
$ping = $solr->ping();
if ( ! $ping ) {
echo 'Solr service not responding';
exit;
}
$offset = 0;
$limit = 10;
$queries = array(
'test string',
'sort:post_date desc'
);
foreach ( $queries as $query ) {
$response = $solr->search( $query, $offset, $limit );
if ( $response->getHttpStatus() == 200 ) {
// print_r( $response->getRawResponse() );
if ( $response->response->numFound > 0 ) {
echo "$query";
foreach ( $response->response->docs as $doc ) {
echo "$doc->id --- $doc->post_title";
}
} else {
echo $response->getHttpStatusMessage();
}
}
}
This code will ping to apache server. If the ping is successful, it will try to search a string "test string" in your default search field that you set in solrconfig.xml. The $offset and $limit will define the total number of records. If it finds the result, it will print the id and title of record. Otherwise, it prints the error message.
Neerav Mehta
Neerav Mehta is the Founder & CEO of Red Crackle. With sterling qualities, Neerav’s technological acumen is firing a generation of progressive companies on the digital path. With an undergraduate degree in Electrical Engineering from India's most prestigious institution IIT Bombay and having spent seven years developing and contributing to the launch of AMD's innovative line of computer products, Neerav founded Red Crackle where he is lauded for his dynamic and innovative genius.
Let’s get you started!