lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joey <vanjo...@gmail.com>
Subject Re: How to get SolrServer within my own servlet
Date Tue, 13 Dec 2011 21:49:39 GMT
Thank you guys for the reply.

So what I want to do is to modify Solr a bit - add one servlet so I can
trigger a full index of a folder in the file system.

What I did:
       un-jar solr.war;
       Create a web app and copy the un-jar the solr files to this app;
       Create my servlet;
       Repackage the web app to a war and deploy;

by following the suggestions of you guys;
I create a "EmbeddedSolrServer" in my Servlet:
	public void init() throws ServletException {
		CoreContainer.Initializer initializer = new CoreContainer.Initializer();
		CoreContainer coreContainer = null;
		try {
			coreContainer = initializer.initialize();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		_solrServer = new EmbeddedSolrServer(coreContainer, "");
	}

And I can now trigger the index by call:
http://localhost:8080/testservlet01. The servlet does this:
		SolrInputDocument doc1 = new SolrInputDocument();
		doc1.addField( "id", "id1", 1.0f );
		doc1.addField( "name", "doc1", 1.0f );
		
	    Collection<SolrInputDocument> docs = new
ArrayList<SolrInputDocument>();
	    docs.add( doc1 );	    
	    try {
			_solrServer.add( docs );
			_solrServer.commit();
		} catch (SolrServerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

However, seems the search didn't return unless I restart my application:
localhost:8080/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on


I guess there are two SolrServer instances(one is EmbeddedSolrServer,
created by myself and the other is come with Solr itself and they are
holding different index?

How can I make them synchronized?

--
View this message in context: http://lucene.472066.n3.nabble.com/How-to-get-SolrServer-within-my-own-servlet-tp3583304p3583741.html
Sent from the Solr - User mailing list archive at Nabble.com.

Mime
View raw message