如何从solr中选择使用java?
我在solr中保存数据:如何从solr中选择使用java?,java,solr,Java,Solr,我在solr中保存数据: String solrUrl = "http://localhost:8984/solr"; SolrServer solrServer = new HttpSolrServer( solrUrl ); SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", "1"); doc.addField("first_name", "Ann"); doc.addField("last_name",
String solrUrl = "http://localhost:8984/solr";
SolrServer solrServer = new HttpSolrServer( solrUrl );
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "1");
doc.addField("first_name", "Ann");
doc.addField("last_name", "Smit");
doc.addField("email", "test@test.com");
try {
solrServer.add(doc);
solrServer.commit();
} catch (SolrServerException e) {/* */}
并从solr中选择数据:
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
query.addFilterQuery("first_name:Ann*");
query.addFilterQuery("last_name:Ann*");
query.setFields("id","first_name","last_name","email");
QueryResponse response = null;
try {
response = solrServer.query(query);
} catch (SolrServerException e) {/* */ }
SolrDocumentList list = response.getResults();
我有搜索条件:名字或姓氏应该包含值Ann
。如何为选择保存的数据设置过滤器查询?使用SolrJ搜索
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;
import java.net.MalformedURLException;
public class SolrJSearcher {
public static void main(String[] args) throws MalformedURLException, SolrServerException {
HttpSolrServer solr = new HttpSolrServer("url");
SolrQuery query = new SolrQuery();
query.setQuery("sony digital camera");
query.addFilterQuery("cat:electronics","store:amazon.com");
query.setFields("id","price","merchant","cat","store");
query.setStart(0);
query.set("defType", "edismax");
QueryResponse response = solr.query(query);
SolrDocumentList results = response.getResults();
for (int i = 0; i < results.size(); ++i) {
System.out.println(results.get(i));
}
}
}
import org.apache.solr.client.solrj.SolrServerException;
导入org.apache.solr.client.solrj.impl.HttpSolrServer;
导入org.apache.solr.client.solrj.SolrQuery;
导入org.apache.solr.client.solrj.response.QueryResponse;
导入org.apache.solr.common.SolrDocumentList;
导入java.net.MalformedURLException;
公共类SolrSearcher{
publicstaticvoidmain(字符串[]args)引发畸形的DurLexException,SolrServerException{
HttpSolrServer solr=新的HttpSolrServer(“url”);
SolrQuery query=新的SolrQuery();
setQuery(“索尼数码相机”);
addFilterQuery(“cat:electronics”,“store:amazon.com”);
设置字段(“id”、“价格”、“商户”、“类别”、“店铺”);
query.setStart(0);
query.set(“defType”、“edismax”);
QueryResponse response=solr.query(查询);
SolrDocumentList结果=response.getResults();
对于(int i=0;i
应使用:
SolrQuery parameters = new SolrQuery();
query.setQuery("first_name:qwe2 OR last_name:qwe2");
query.setFields("id","first_name","last_name","email");
QueryResponse response = null;
try {
response = solrServer.query(parameters);
} catch (SolrServerException e) {/* */ }
SolrDocumentList list = response.getResults();
我还没有看到这个例子。我的代码中应该更改什么?