Changeset 6666


Ignore:
Timestamp:
10/12/15 15:45:12 (9 years ago)
Author:
Twan Goosen
Message:

merged changes from 3.3 branch to trunk

Location:
vlo/trunk
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • vlo/trunk

  • vlo/trunk/vlo-commons/src/main/java/eu/clarin/cmdi/vlo/FacetConstants.java

    r6404 r6666  
    9191     */
    9292    public static final String LANGUAGE_CODE_PATTERN = "(name|code):(.*)";
     93   
     94    /**
     95     * Name of the Solr request handler for fast queries (no sorting, boosting or aliases)
     96     */
     97    public static final String SOLR_REQUEST_HANDLER_FAST = "fast";
    9398}
  • vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/MetadataImporter.java

    r6657 r6666  
    534534                // get document
    535535                query = new SolrQuery();
     536                query.setRequestHandler(FacetConstants.SOLR_REQUEST_HANDLER_FAST);
    536537                query.set("q", FacetConstants.FIELD_ID+":"+vertex.getId());
    537538                SolrDocumentList response = solrServer.query(query).getResults();
  • vlo/trunk/vlo-solr/src/main/solr_conf/solr/collection1/conf/solrconfig.xml

    r6472 r6666  
    428428     </lst>
    429429  </requestHandler>
     430 
     431  <requestHandler name="fast" class="solr.SearchHandler" default="false">
     432    <!-- default values for query parameters -->
     433     <lst name="defaults">
     434       <str name="echoParams">explicit</str>
     435       <!--
     436       <int name="rows">10</int>
     437       <str name="fl">*</str>
     438       <str name="version">2.1</str>
     439        -->
     440     </lst>
     441  </requestHandler>
     442
    430443
    431444 <!-- <requestHandler name="/dataimport"
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/JavaScriptResources.java

    r6341 r6666  
    3232    private final static JavaScriptResourceReference VLO_SYNTAX_HELP = new JavaScriptResourceReference(VloBasePage.class, "vlo-syntax-help.js");
    3333    private final static JavaScriptResourceReference VLO_FACETS = new JavaScriptResourceReference(VloBasePage.class, "vlo-facets.js");
     34    private final static JavaScriptResourceReference SEARCH_FORM = new JavaScriptResourceReference(VloBasePage.class, "vlo-searchform.js");
    3435    private final static JavaScriptResourceReference JQUERY_UI = new JavaScriptResourceReference(VloBasePage.class, "jquery-ui-1.11.4.custom/jquery-ui.min.js");
    3536    private final static CssResourceReference JQUERY_UI_CSS = new CssResourceReference(VloBasePage.class, "jquery-ui-1.11.4.custom/jquery-ui.min.css");
     
    6667        return VLO_SYNTAX_HELP;
    6768    }
     69   
     70    public static JavaScriptResourceReference getSearchFormJS() {
     71        return SEARCH_FORM;
     72    }
     73   
     74   
    6875
    6976}
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/solr/impl/AbstractSolrQueryFactory.java

    r6315 r6666  
    3232public abstract class AbstractSolrQueryFactory {
    3333
    34     protected static final String SOLR_SEARCH_ALL = null;
     34    protected static final String SOLR_SEARCH_ALL = "*:*";
    3535
    3636    protected final void addQueryFacetParameters(final SolrQuery query, QueryFacetsSelection queryFacetsSelections) {
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/solr/impl/SolrDocumentQueryFactoryImpl.java

    r6284 r6666  
    6262        // make a query to look up a specific document by its ID
    6363        final SolrQuery query = getDefaultDocumentQuery();
     64        // we can use the 'fast' request handler here, document ranking is of no interest
     65        query.setRequestHandler(FacetConstants.SOLR_REQUEST_HANDLER_FAST);
    6466        // consider all documents
    6567        query.setQuery(SOLR_SEARCH_ALL);
     
    7375                .build();
    7476        query.addFilterQuery(createFilterOrQuery(idOrQueryMap));
    75        
     77
    7678        // one result max
    7779        query.setRows(1);
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/service/solr/impl/SolrFacetQueryFactoryImpl.java

    r4932 r6666  
    1717package eu.clarin.cmdi.vlo.service.solr.impl;
    1818
     19import eu.clarin.cmdi.vlo.FacetConstants;
    1920import eu.clarin.cmdi.vlo.service.solr.SolrFacetQueryFactory;
    2021import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;
     
    4647    public SolrQuery createFacetQuery(QueryFacetsSelection queryFacetsSelections, List<String> facets, int facetValueLimit) {
    4748        final SolrQuery query = getBaseQuery(facets);
     49        // we can use the 'fast' request handler here, document ranking is of no interest
     50        query.setRequestHandler(FacetConstants.SOLR_REQUEST_HANDLER_FAST);
    4851        addQueryFacetParameters(query, queryFacetsSelections);
    4952        query.setFacetLimit(facetValueLimit);
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SearchFormPanel.java

    r6341 r6666  
    2121import eu.clarin.cmdi.vlo.service.solr.AutoCompleteService;
    2222import java.util.Iterator;
     23import org.apache.wicket.Component;
    2324import org.apache.wicket.ajax.AjaxRequestTarget;
     25import org.apache.wicket.ajax.attributes.AjaxCallListener;
     26import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
    2427import org.apache.wicket.ajax.markup.html.form.AjaxFallbackButton;
    2528import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField;
     
    4346    private AutoCompleteService autoCompleteDao;
    4447
     48    //private final AjaxIndicatorAppender indicatorAppender = new AjaxIndicatorAppender();
    4549    public SearchFormPanel(String id, IModel<QueryFacetsSelection> model) {
    4650        super(id, model);
     
    6468                SearchFormPanel.this.onSubmit(target);
    6569            }
     70
     71            @Override
     72            protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
     73                super.updateAjaxAttributes(attributes);
     74
     75                // listener to start/stop indicating progress
     76                AjaxCallListener listener = new AjaxCallListener() {
     77
     78                    @Override
     79                    public CharSequence getBeforeHandler(Component component) {
     80                        return ("startSearch();");
     81                    }
     82
     83                    @Override
     84                    public CharSequence getCompleteHandler(Component component) {
     85                        return ("endSearch();");
     86                    }
     87
     88                };
     89                attributes.getAjaxCallListeners().add(listener);
     90            }
     91
    6692        }
    6793        );
     
    6995        add(form);
    7096    }
    71 
     97   
    7298    protected abstract void onSubmit(AjaxRequestTarget target);
    7399
     
    78104        response.render(JavaScriptHeaderItem.forReference(JavaScriptResources.getJQueryUIJS()));
    79105        response.render(JavaScriptHeaderItem.forReference(JavaScriptResources.getSyntaxHelpJS()));
     106        response.render(JavaScriptHeaderItem.forReference(JavaScriptResources.getSearchFormJS()));
    80107    }
    81108}
  • vlo/trunk/vlo-web-app/src/test/java/eu/clarin/cmdi/vlo/service/solr/impl/SolrFacetQueryFactoryImplTest.java

    r6284 r6666  
    5858
    5959        // default: query selects all values
    60         assertNull(query.getQuery());
     60        assertEquals("*:*", query.getQuery());
    6161
    6262        // no selection -> no filter queries
     
    8282
    8383        // default: query selects all values
    84         assertNull(query.getQuery());
     84        assertEquals("*:*", query.getQuery());
    8585
    8686        // Only empty selections -> no filter queries
     
    107107
    108108        // default: query selects all values
    109         assertNull(query.getQuery());
     109        assertEquals("*:*", query.getQuery());
    110110
    111111        // Expecting three filter queries as three values have been selected in total
Note: See TracChangeset for help on using the changeset viewer.