Example usage for org.apache.solr.client.solrj SolrQuery setFields

List of usage examples for org.apache.solr.client.solrj SolrQuery setFields

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery setFields.

Prototype

public SolrQuery setFields(String... fields) 

Source Link

Usage

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public QueryResponse searchSolrIndexSorted(String queryString, String fields, int rows, int startOffset,
        String sortField) throws SolrServerException {
    SolrServer solr = null;/*w w w . j a  va2 s.  c  o  m*/
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);
    query.setRows(rows);
    query.setStart(startOffset);
    query.setSort(sortField, SolrQuery.ORDER.desc);
    query.setFields(fields);
    QueryResponse rsp = solr.query(query);
    return rsp;
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getBookDetail(String bookID) throws SolrServerException {
    SolrServer solr = null;/*  w  w  w  . j a va  2s  . com*/
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields(
            "id,author,title,isbn,publisher,description,language,releaseDate,likes,downloadcount,uploader,viewed,shared,cover,thumbnail,thumbnailgenerated,likedby");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getEpubBook(String bookID) throws SolrServerException {
    SolrServer solr = null;/*from www.  j  a v a2s .  co  m*/
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields("id,epub");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getMobiFormat(String bookID) throws SolrServerException {
    SolrServer solr = null;/*  www. j  av a  2s .  c  om*/
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields("id,mobi");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}

From source file:de.fatalix.bookery.bl.WatchListService.java

License:Open Source License

public List<BookEntry> getAllBooks(List<WatchList> watchList) throws SolrServerException {
    if (watchList.isEmpty()) {
        return Collections.EMPTY_LIST;
    }//w  w  w  .j ava  2  s.c o  m
    String searchString = "id:(";
    for (WatchList watchListItem : watchList) {
        searchString = searchString + "\"" + watchListItem.getBookId() + "\",";
    }
    searchString = searchString.substring(0, searchString.length() - 1) + ")";

    SolrQuery query = new SolrQuery();
    query.setRows(20);
    query.setStart(0);
    query.setQuery(searchString);
    query.setSort(SolrQuery.SortClause.asc("author"));
    query.setFields(SolrSearchUtil.DEFAULT_FIELDS);

    return bookService.searchBooks(query).getBeans(BookEntry.class);

}

From source file:de.fatalix.bookery.bl.WatchListService.java

License:Open Source License

public SolrQuery getSolrQuery(List<WatchList> watchList) {
    if (watchList.isEmpty()) {
        return null;
    }// ww w.  j ava 2 s  .co m
    String searchString = "id:(";
    for (WatchList watchListItem : watchList) {
        searchString = searchString + "\"" + watchListItem.getBookId() + "\",";
    }
    searchString = searchString.substring(0, searchString.length() - 1) + ")";

    SolrQuery query = new SolrQuery();
    query.setRows(20);
    query.setStart(0);
    query.setQuery(searchString);
    query.setSort(SolrQuery.SortClause.asc("author"));
    query.setFields(SolrSearchUtil.DEFAULT_FIELDS);
    return query;
}

From source file:de.fatalix.bookery.view.home.HomeView.java

License:Open Source License

@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
    try {/* w w  w .  ja  va 2 s.  c  om*/
        bookCount.setValue("Aktuell sind " + presenter.getBookCount() + " Bcher in der Bookery");

        String searchString = SolrSearchUtil.generateSearchString("");

        SolrQuery query = new SolrQuery();
        query.setRows(6);
        query.setStart(0);
        query.setQuery(searchString);
        query.setSort(SolrQuery.SortClause.desc("likes"));
        query.setFields(SolrSearchUtil.DEFAULT_FIELDS);

        QueryResponse response = presenter.searchBooks(query);
        mostLikedLane.loadLane("Beliebteste Bcher", response.getBeans(BookEntry.class),
                SearchView.id + "/likes");

        query.setSort(SolrQuery.SortClause.desc("downloadcount"));
        response = presenter.searchBooks(query);
        mostLoadedLane.loadLane("Meist geladene Bcher", response.getBeans(BookEntry.class),
                SearchView.id + "/downloads");

        searchString = SolrSearchUtil
                .addNewBooksSearchString(SecurityUtils.getSubject().getPrincipal().toString(), searchString);
        query.setQuery(searchString);
        query.setSort(SolrQuery.SortClause.asc("author"));
        response = presenter.searchBooks(query);
        newBooksLane.loadLane("Neue Bcher", response.getBeans(BookEntry.class),
                SearchView.id + "/auhtor/true");

        query = presenter.getWatchListQuery(SecurityUtils.getSubject().getPrincipal().toString());
        if (query != null) {
            query.setRows(6);
            response = presenter.searchBooks(query);
            watchListLane.loadLane("Deine Merkliste", response.getBeans(BookEntry.class), WatchListView.id);
        } else {
            watchListLane.loadLane("Deine Merkliste", Collections.EMPTY_LIST, WatchListView.id);
        }

    } catch (SolrServerException ex) {
        logger.error(ex, ex);
    }
}

From source file:de.fatalix.bookery.view.search.SearchView.java

License:Open Source License

@Override
public void enter(ViewChangeListener.ViewChangeEvent event) {
    SolrQuery.SortClause sortClause = SolrQuery.SortClause.asc("author");

    String searchString = SolrSearchUtil.generateSearchString(appHeader.getSearchText());

    String[] params = event.getParameters().split("/");
    if (params.length > 0) {
        String sortParameter = params[0];
        switch (sortParameter) {
        case "author":
            sortClause = SolrQuery.SortClause.asc("author");
            break;
        case "likes":
            sortClause = SolrQuery.SortClause.desc("likes");
            break;
        case "downloads":
            sortClause = SolrQuery.SortClause.desc("downloadcount");
            break;
        }/* w  w w .ja  v a2  s  .  c  om*/

        if (params.length > 1) {
            String viewer = SecurityUtils.getSubject().getPrincipal().toString();
            searchString = SolrSearchUtil.addNewBooksSearchString(viewer, searchString);
        }
    }
    SolrQuery query = new SolrQuery();
    query.setRows(20);
    query.setStart(0);
    query.setQuery(searchString);
    query.setSort(sortClause);
    query.setFields(SolrSearchUtil.DEFAULT_FIELDS);
    searchLayout.searchBooks(query, true);
}

From source file:de.qaware.chronix.solr.client.stream.SolrStreamingService.java

License:Apache License

private void initStreamingService(SolrQuery query, SolrClient connection) {
    SolrQuery solrQuery = query.getCopy();
    solrQuery.setRows(0);//ww w  .j a v  a 2 s.  co m
    //we do not need any data from the server expect the total number of found documents
    solrQuery.setFields("");

    try {
        QueryResponse response = connection.query(solrQuery);
        nrOfAvailableTimeSeries = response.getResults().getNumFound();
        queryStart = (long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_START_LONG);
        queryEnd = (long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_END_LONG);

    } catch (SolrServerException | IOException e) {
        LOGGER.error("SolrServerException occurred while querying server.", e);
    }
}

From source file:dk.statsbiblioteket.doms.licensemodule.integrationtest.DomsSolrJClientTest.java

public static ArrayList<String> filterIds(ArrayList<String> ids, String queryPartAccess) throws Exception {
    solrServer.setRequestWriter(new BinaryRequestWriter()); //To avoid http error code 413/414, due to monster URI. (and it is faster)        
    String queryPartStr = AbstractSolrJClient.makeAuthIdPart(ids);

    System.out.println(queryPartStr);
    SolrQuery query = new SolrQuery(queryPartStr);
    query.setFilterQueries(queryPartAccess);
    query.setFields("recordID");
    query.set("facet", "false");
    query.setRows(ids.size());//from   w ww. j a  v  a2 s  .  c  o  m
    QueryResponse response = solrServer.query(query);
    ArrayList<String> filteredIds = AbstractSolrJClient.getIdsFromResponse(response);
    return filteredIds;
}