Author: bpoussin Date: 2013-03-07 19:50:30 +0100 (Thu, 07 Mar 2013) New Revision: 1558 Url: http://nuiton.org/projects/wikitty/repository/revisions/1558 Log: ajout d'un pseudo test pour ne pas perdre les differentes pistes d'am?\195?\169lioration des requetes solr via les nouvelles fonctionnalit?\195?\169 (group, func, ...) Added: trunk/wikitty-solr/src/test/java/org/nuiton/wikitty/storage/solr/SolrQueryTest.java Added: trunk/wikitty-solr/src/test/java/org/nuiton/wikitty/storage/solr/SolrQueryTest.java =================================================================== --- trunk/wikitty-solr/src/test/java/org/nuiton/wikitty/storage/solr/SolrQueryTest.java (rev 0) +++ trunk/wikitty-solr/src/test/java/org/nuiton/wikitty/storage/solr/SolrQueryTest.java 2013-03-07 18:50:30 UTC (rev 1558) @@ -0,0 +1,122 @@ +package org.nuiton.wikitty.storage.solr; + + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.solr.client.solrj.SolrQuery; +import org.apache.solr.client.solrj.SolrServer; +import org.apache.solr.client.solrj.response.QueryResponse; +import org.junit.Test; +import org.nuiton.util.ApplicationConfig; +import org.nuiton.util.ArgumentsParserException; +import org.nuiton.wikitty.WikittyConfigOption; +import org.nuiton.wikitty.WikittyService; +import org.nuiton.wikitty.WikittyServiceFactory; +import org.nuiton.wikitty.services.WikittyServiceStorage; +import org.nuiton.wikitty.storage.WikittySearchEngine; + +/** + * Classe permettant de tester des requetes purement SolR et voir le resultat + * + * @author poussin + * @version $Revision$ + * + * Last update: $Date$ + * by : $Author$ + */ +public class SolrQueryTest { + + /** to use log facility, just put in your code: log.info(\"...\"); */ + static private Log log = LogFactory.getLog(SolrQueryTest.class); + + SolrServer server = null; + + public SolrServer getServer() throws ArgumentsParserException { + if (server == null) { + ApplicationConfig config = new ApplicationConfig(); + config.loadDefaultOptions(WikittyConfigOption.values()); + config.setOption("wikitty.data.directory", "/var/local/chorem/localhost"); + config.setOption("wikitty.searchengine.solr.directory.data", + "${wikitty.data.directory}/data/solr"); + + // Parse args + config.parse(); + + server = SolrUtil.getSolrServer(config); + } + return server; + } + + + + public QueryResponse doQuery(String query) throws Exception { + SolrServer server = getServer(); + SolrQuery querySolr = new SolrQuery(query); + QueryResponse result = SolrUtil.executeQuery(server, querySolr); + return result; + } + + public QueryResponse doQuery(SolrQuery querySolr) throws Exception { + SolrServer server = getServer(); + QueryResponse result = SolrUtil.executeQuery(server, querySolr); + return result; + } + + @Test + public void testSubQuery() throws Exception { +//FinancialTransaction.VAT_d:19.6 AND _query_: +//{!join from=#id to=FinancialTransaction.payer_w v=_query_:{!join from=Employee.company_w to=#id v=_query_:{!join from=#id to=Employee.person_w v=Person.firstName_s:Catherine AND Person.lastName_s:Heintz}}} +// String query = "FinancialTransaction.VAT_d:19.6 AND " +// + "_query_:{!join from=#id to=FinancialTransaction.payer_w " +// + "v=_query_:{!join from=Employee.company_w to=#id " +// + "v=_query_:{!join from=#id to=Employee.person_w " +// + "v=\"Person.firstName_s:Catherine AND Person.lastName_s:Heintz\"}}}" +// + ""; + +// String query = "FinancialTransaction.VAT_d:19.6 AND " + +// "_query_:{!join from=Employee.company_w to=FinancialTransaction.payer_w " + +// "v=_query_:{!join from=#id to=Employee.person_w " + +// "v=\"Person.firstName_s:Catherine AND Person.lastName_s:Heintz\"}}"; + + String query = "FinancialTransaction.VAT_d:19.6 AND " + + "_query_:\"{!join from=#id to=FinancialTransaction.payer_w}Company.name_s_c:Néréide\""; + + SolrQuery querySolr = new SolrQuery(query); + querySolr.setParam("fl", "score,#id,ref:FinancialTransaction.reference_s,amount:FinancialTransaction.amount_d,tva:FinancialTransaction:VAT_d,payer:FinancialTransaction.payer_w"); +// querySolr.setParam("debugQuery", "true"); + + System.out.println("Query:" + querySolr); + QueryResponse result = doQuery(querySolr); + System.out.println("result:" + result); + + } + + @Test + public void testSelectQuery() throws Exception { + String query = "FinancialTransaction.VAT_d:19.6 AND FinancialTransaction.payer_w:\"d32c4e83-1918-4575-ba18-293af75f5ee3\""; + SolrQuery querySolr = new SolrQuery(query); + querySolr.setParam("fl", "FinancialTransaction.amount_d,FinancialTransaction.VAT_d,ttc:product(FinancialTransaction.amount_d_sortable,linear(FinancialTransaction.VAT_d_sortable,0.01,1))"); + + System.out.println("Query:" + querySolr); + QueryResponse result = doQuery(querySolr); + System.out.println("result:" + result); + } + + @Test + public void testGroupQuery() throws Exception { + String query = "FinancialTransaction.VAT_d:19.6"; + SolrQuery querySolr = new SolrQuery(query); + querySolr.setParam("group", true); + querySolr.setParam("group.field", "FinancialTransaction.payer_w_sortable"); + + System.out.println("Query:" + querySolr); + QueryResponse result = doQuery(querySolr); + System.out.println("result:" + result); + System.out.println("explain:" + result.getExplainMap()); +// result.getResults(); +// result.getGroupResponse().getValues().get(0).getValues().get(0).getResult(); + + } + +} Property changes on: trunk/wikitty-solr/src/test/java/org/nuiton/wikitty/storage/solr/SolrQueryTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL
participants (1)
-
bpoussin@users.nuiton.org