Я пытаюсь сделать простые чтения по индексам Lucene с помощью SolrJ. Мне удалось получить доступ к образцу индекса, доступному в загрузке SolrJ, но я получаю исключение при попытке чтения.
04-feb-2010 17:05:05 org.apache.solr.common.SolrException log
GRAVE: org.apache.solr.common.SolrException: undefined field null
Мой индекс содержит только один документ с одним полем, которое называется «nombre»
Я указал это в файле schema.xml, а маршрут - в файле slconfig.xml
.
Java-код
System.setProperty( "solr.solr.home", "C:\\solr" );
// CREATING THE SERVER
CoreContainer.Initializer initializer = new CoreContainer.Initializer();
CoreContainer coreContainer = null;
SolrServer embServer = null;
coreContainer = initializer.initialize();
embServer = new EmbeddedSolrServer(coreContainer, "");
// READING
SolrQuery query = new SolrQuery();
String q = "*";
query.setQuery(q);
QueryResponse rsp = null;
/// HERE I GET THE EXCEPTION ///
rsp = embServer.query( query );
/// HERE I GET THE EXCEPTION ///
// GETTING THE NUMBER OF ITEMS
SolrDocumentList docs = rsp.getResults();
System.out.println( docs.size() );
Есть идеи? Можете ли вы дать мне решение? Это распространенная ошибка? Заранее большое спасибо.
Если я попробую это с консолью администратора Jetty, я получу:
(url: "http://localhost:8983/solr/select/?q=*")
ОШИБКА HTTP: 400
неопределенное поле null
RequestURI = / Solr / выбрать /
Это shema.xml:
(Помните, у моего индекса только один документ с одним полем, которое называется «nombre»)
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.2">
<types>
<fieldType name="string" class="solr.StrField"/>
</types>
<fields>
<field name="nombre" type="string" indexed="true" stored="true"/>
</fields>
</schema>
Файл solrconfig.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<config>
<requestHandler name="standard" class="solr.StandardRequestHandler" />
<dataDir>${solr.data.dir:./data/clientes}</dataDir>
</config>
Исключение, которое я получаю:
05-фев-2010 10:07:11 org.apache.solr.common.SolrException log
GRAVE: org.apache.solr.common.SolrException: неопределенное поле null
в org.apache.solr.schema.IndexSchema.getDynamicFieldType (IndexSchema.java:1136)
в org.apache.solr.schema.IndexSchema.getFieldType (IndexSchema.java:1098)
в org.apache.solr.search.SolrQueryParser.getWildcardQuery (SolrQueryParser.java:193)
в org.apache.lucene.queryParser.QueryParser.Term (QueryParser.java:1434)
в org.apache.lucene.queryParser.QueryParser.Clause (QueryParser.java:1337)
в org.apache.lucene.queryParser.QueryParser.Query (QueryParser.java:1265)
в org.apache.lucene.queryParser.QueryParser.TopLevelQuery (QueryParser.java:1254)
в org.apache.lucene.queryParser.QueryParser.parse (QueryParser.java:200)
в org.apache.solr.search.LuceneQParser.parse (LuceneQParserPlugin.java:78)
в org.apache.solr.search.QParser.getQuery (QParser.java:131)
в org.apache.solr.handler.component.QueryComponent.prepare (QueryComponent.java:89)
в org.apache.solr.handler.component.SearchHandler.handleRequestBody (SearchHandler.java:174)
в org.apache.solr.handler.RequestHandlerBase.handleRequest (RequestHandlerBase.java:131)
в org.apache.solr.core.SolrCore.execute (SolrCore.java:1316)
в org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request (EmbeddedSolrServer.java:139)
в org.apache.solr.client.solrj.request.QueryRequest.process (QueryRequest.java:89)
в org.apache.solr.client.solrj.SolrServer.query (SolrServer.java:118)
в paqueteBase.PruebaDeSolr.ejecutate (PruebaDeSolr.java:67)
at paqueteBase.PruebaDeSolr.main (PruebaDeSolr.java:24)