solr(1)solr installation and example
1. download the solr release package and show the demo
apache-solr-3.6.0.zip
unzip the package
>cd D:\book\solr\apache-solr-3.6.0\example
There is a jetty server in example, we can start the jetty server with java command
>java -jar start.jar
The configuration file of jetty is D:\book\solr\apache-solr-3.6.0\example\etc\jetty.xml
Then, we can visit the URL http://localhost:8983/solr/
http://localhost:8983/solr/admin/
2. Indexing Data
We can modify a Solr index by POSTing XML to add(or update) documents, delete documents, commit pending adds and deletes, and optimized my index.
>cd D:\book\solr\apache-solr-3.6.0\example\exampledocs
SimplePostTool: version 1.4
SimplePostTool: POSTing files to http://localhost:8983/solr/update..
SimplePostTool: POSTing file solr.xml
SimplePostTool: POSTing file monitor.xml
SimplePostTool: COMMITting Solr index changes..
The I can search solr in the admin console.
Put all the xml files in the index
>java -jar post.jar *.xml
There are other ways to add data into index files.
http://wiki.apache.org/solr/UpdateJSON
http://wiki.apache.org/solr/DataImportHandler
http://wiki.apache.org/solr/Solrj
There is also a test UI
http://localhost:8983/solr/browse
3. Updating Data
the file solr.xml has now been POSTed to the server twice, you still only get 1 result when searching for "solr". This is because the example schema.xml specifies a "uniqueKey" field called "id".
looking at the values for numDocs and maxDoc in the "CORE"/searcher section of the statistics page...
http://localhost:8983/solr/admin/stats.jsp
numDocs represents the number of searchable documents in the index (and will be larger than the number of XML files since some files contained more than one <doc>). maxDoc may be larger as the numDoc count includes logically deleted documents that have not yet been removed from the index. You can re-post the sample XML files over and over again as much as you want and numDocs will never increase, because the new documents will constantly be replacing the old.
4. Deleting Data
POSTing a delete command to the update URL and specifying the value of the document's unique key field, or a query that matches multiple documents.
>java -Ddata=args -Dcommit=no -jar post.jar "<delete><id>SP2514N</id></delete>"
We can check the deleting data in status in field deletesById
And the following command is to commit the deleting actions.
>java -jar post.jar
The original number of documents are numDocs 21, maxDoc 21. But after deleting one document
, the number changes to numDocs 20, maxDoc 21.
Delete the DDR in name column
>java -Ddata=args -jar post.jar "<delete><query>name:DDR</query></delete>"
5. Querying Data
q=video&fl=name,id (return only name and id fields)
q=video&fl=name,id,score (return relevancy score as well)
q=video&fl=*,score (return all stored fields, as well as relevancy score)
q=video&sort=price desc&fl=name,id,price (add sort specification: sort by price descending)
q=video&wt=json (return response in JSON format)
6. Highlighting
http://localhost:8983/solr/select/?wt=json&indent=on&q=video+card&fl=name,id&hl=true&hl.fl=name,features
7. Solr mode configuration
D:\book\solr\apache-solr-3.6.0\example\solr\conf\schema.xml
references:
http://www.blogjava.net/hoojo/archive/2011/10/21/361747.html
http://lucene.apache.org/solr/
http://lucene.apache.org/solr/api/doc-files/tutorial.html
1. download the solr release package and show the demo
apache-solr-3.6.0.zip
unzip the package
>cd D:\book\solr\apache-solr-3.6.0\example
There is a jetty server in example, we can start the jetty server with java command
>java -jar start.jar
The configuration file of jetty is D:\book\solr\apache-solr-3.6.0\example\etc\jetty.xml
Then, we can visit the URL http://localhost:8983/solr/
http://localhost:8983/solr/admin/
2. Indexing Data
We can modify a Solr index by POSTing XML to add(or update) documents, delete documents, commit pending adds and deletes, and optimized my index.
>cd D:\book\solr\apache-solr-3.6.0\example\exampledocs
SimplePostTool: version 1.4
SimplePostTool: POSTing files to http://localhost:8983/solr/update..
SimplePostTool: POSTing file solr.xml
SimplePostTool: POSTing file monitor.xml
SimplePostTool: COMMITting Solr index changes..
The I can search solr in the admin console.
Put all the xml files in the index
>java -jar post.jar *.xml
There are other ways to add data into index files.
http://wiki.apache.org/solr/UpdateJSON
http://wiki.apache.org/solr/DataImportHandler
http://wiki.apache.org/solr/Solrj
There is also a test UI
http://localhost:8983/solr/browse
3. Updating Data
the file solr.xml has now been POSTed to the server twice, you still only get 1 result when searching for "solr". This is because the example schema.xml specifies a "uniqueKey" field called "id".
looking at the values for numDocs and maxDoc in the "CORE"/searcher section of the statistics page...
http://localhost:8983/solr/admin/stats.jsp
numDocs represents the number of searchable documents in the index (and will be larger than the number of XML files since some files contained more than one <doc>). maxDoc may be larger as the numDoc count includes logically deleted documents that have not yet been removed from the index. You can re-post the sample XML files over and over again as much as you want and numDocs will never increase, because the new documents will constantly be replacing the old.
4. Deleting Data
POSTing a delete command to the update URL and specifying the value of the document's unique key field, or a query that matches multiple documents.
>java -Ddata=args -Dcommit=no -jar post.jar "<delete><id>SP2514N</id></delete>"
We can check the deleting data in status in field deletesById
And the following command is to commit the deleting actions.
>java -jar post.jar
The original number of documents are numDocs 21, maxDoc 21. But after deleting one document
, the number changes to numDocs 20, maxDoc 21.
Delete the DDR in name column
>java -Ddata=args -jar post.jar "<delete><query>name:DDR</query></delete>"
5. Querying Data
q=video&fl=name,id (return only name and id fields)
q=video&fl=name,id,score (return relevancy score as well)
q=video&fl=*,score (return all stored fields, as well as relevancy score)
q=video&sort=price desc&fl=name,id,price (add sort specification: sort by price descending)
q=video&wt=json (return response in JSON format)
6. Highlighting
http://localhost:8983/solr/select/?wt=json&indent=on&q=video+card&fl=name,id&hl=true&hl.fl=name,features
7. Solr mode configuration
D:\book\solr\apache-solr-3.6.0\example\solr\conf\schema.xml
references:
http://www.blogjava.net/hoojo/archive/2011/10/21/361747.html
http://lucene.apache.org/solr/
http://lucene.apache.org/solr/api/doc-files/tutorial.html