package org.puimula.experimental.solrtest; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import javax.xml.parsers.ParserConfigurationException; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.core.CoreContainer; import org.xml.sax.SAXException; public class App { public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException, SolrServerException { System.setProperty("solr.solr.home", "/home/harri/tmp/solr"); CoreContainer.Initializer initializer = new CoreContainer.Initializer(); CoreContainer coreContainer = initializer.initialize(); EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer, ""); server.deleteByQuery("*:*"); Collection docs = new ArrayList(); { SolrInputDocument doc1 = new SolrInputDocument(); doc1.addField("id", "id1"); doc1.addField("name", "Eka asiakirja"); doc1.addField("description", "Opas kissojen ruokintaan"); docs.add(doc1); } { SolrInputDocument doc1 = new SolrInputDocument(); doc1.addField("id", "id2"); doc1.addField("name", "Toinen asiakirja"); doc1.addField("description", "Koiranulkoilutuksen käsikirja"); docs.add(doc1); } server.add(docs); server.commit(); testQuery(server, "description:ruokintaan"); testQuery(server, "description:käsikirja"); testQuery(server, "description:päläpälä"); testQuery(server, "description:kissa"); System.exit(0); } private static void testQuery(EmbeddedSolrServer server, String queryString) throws SolrServerException { SolrQuery query = new SolrQuery(); query.setQuery(queryString); QueryResponse response = server.query(query); SolrDocumentList results = response.getResults(); System.out.println("Tulokset haulle " + queryString); for (SolrDocument result : results) { System.out.println(" Löytyi asiakirjasta " + result.getFieldValue("name")); } } }