如何从solr中选择使用java?

如何从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",

我在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", "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();

我还没有看到这个例子。我的代码中应该更改什么?