private SolrServer solrServer;
public IndexerAndSearcher() {
try {
this.solrServer = new CommonsHttpSolrServer("http://localhost:8983/solr");
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
Para fazer uma pesquisa e simples basta:
/**
*
* @param field
* @param text
*/
public void search(String field, String text) {
// http://localhost:8983/solr/select/q=*:*&sort=id+asc&version=2.2
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("q", field + ":" + text);
try {
QueryResponse queryResponse = solrServer.query(params);
SolrDocumentList documents = queryResponse.getResults();
System.out.println("\n--\n");
for(SolrDocument document : documents) {
System.out.println("Document[" + document.getFieldValue("id") + "]");
System.out.println("\tDocument Fields[" + document.getFieldNames() + "]");
System.out.println("\tNome: " + document.getFieldValue("nome"));
System.out.println("\tDescricao: " + document.getFieldValue("descricao"));}
} catch (SolrServerException e) {
e.printStackTrace();
}
}
Para adicionar um documento:
/**
*
* @param id
* @param nome
* @param descricao
*/
public void addDocument(String id, String nome, String descricao) {
SolrInputDocument document = new SolrInputDocument();
document.addField("id", id);
document.addField("nome", nome);
document.addField("descricao", descricao);
try {
solrServer.add(document);
solrServer.commit();
System.out.println("[Document] Evento cadastrado: " + document.toString());
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Chamando os metodos:
public static void main(String[] args) {
IndexerAndSearcher indexerAndSearcher = new IndexerAndSearcher();
//indexerAndSearcher.addDocument("1", "Cafe com Tapioca", "Evento de Java do CEJUG em Fortaleza");
//indexerAndSearcher.addBean("2", "EJES", "Encontro de Java");
indexerAndSearcher.findAllDocuments();
//indexerAndSearcher.search("id", "[2 TO 5]");
}
Essa e uma demostração simples do que pode ser feito para acessar uma base solr no proximo post eu vou colocar uma aplicação que criei para manipular o solr.
Nenhum comentário:
Postar um comentário