Не могу сделать ни одного запроса к Solr
Я пытаюсь настроить Solandra (Solr + Cassandra) и использовать его с помощью библиотеки SolrJ. Мне удалось все настроить и добавить несколько документов с помощью SolrJ, но когда я попытался сделать запрос, это не удалось. Я пытался выполнить запрос через URL, но это также не удалось. Я использовал:
http://localhost:8983/solandra/my_core/select?q=*:*&wt=xml
И в моем приложении я использовал следующий код:
CommonsHttpSolrServer server = new CommonsHttpSolrServer(url);
server.setParser(new XMLResponseParser());
SolrQuery query = new SolrQuery();
query.setQuery("some");
query.setStart(0);
query.setRows(10);
QueryResponse response = server.query(query);
Это трассировка стека, которую я получил:
org.apache.solr.common.SolrException: java.lang.StackruError at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:281) в org.apache.solr.handler.RequestHandlerBase.le.java:129) в org.apache.solr.core.SolrCore.execute(SolrCore.java:1368) в org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356) в solandra.SolandraDispatch SolandraDispatchFilter.java:171) по адресу org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252) по адресу solandra.SolandraDispatchFilter.doFilter(SolandraDispatchFillet.gletterjjservj.jserinjj.jserinjj.jserinjj.jserinjj.jserinjj.jserinjj.jserinjj.jerin.jt..doFilter(ServletHandler.java:1212) в org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) в org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) в или mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) в org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) в org.mortbay.jetty.Server.handle(Server.java:326) в org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) в org.mortbay.jetty.HttpConnection$.headerComplete(HttpConnection.java:928) в org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) в org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.jt.HttpConnection.handle(HttpConnection.java:404) по адресу org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) по адресу org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadjo). Вызывается: java.lang.StackruError на java.net.SocketInputStream.socketRead0(собственный метод) на java.net.SocketInputStream.read(SocketInputStream.java:150) на java.net.SocketInputStream.read(SocketInputStream.java:12) в java.io.BufferedInputStream.fill(BufferedInputStream.java:235) в java.io.BufferedInputStream.read(BufferedInputStream.java:254) в org.apache.commons.httpclient.HttpConnection.isStale(HttpConnection.java:506) по адресу org.apache.commons.httpclient.HttpConnection.closeIfStale(HttpConnection.java:431) по адресу org.apache.commons.httpclient.MultiThreadedHttpConnect.jpgPlayer по адресу org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:382) по адресу org.apache.commons.httpclient.HttpMethodDirector.executeMetho..exho.lih.htg (HttpClient.java:397) в org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) в org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.rett.Serv.Serv.Serv.Serv.Serv. org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244) в org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:4. at at. org at. org at..handler.component.HttpCommComponent$1.call(SearchHandler.java:393) в java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) в java.util.concurrent.FutureTask.run(FutureTask.java:166) в java.util.concurrent.Executors$RunnableAdapter.call Executors. Java:471) в java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) в java.util.concurrent.FutureTask.run(FutureTask.java:166) в java.util.concurrent.ThreadPounExecutor(ThreadPoolExecutor.java:1145) в java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) в java.lang.Thread.run(Thread.java:722)
Может быть, я что-то пропустил в schema.xml? Вот как это выглядит:
<schema name="my_core" version="1.1">
<types>
<fieldType name="string" class="solr.StrField"/>
<fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
</types>
<fields>
<field name="url" type="string" indexed="true" stored="true"/>
<field name="content" type="text_general_rev" indexed="true" stored="true"/>
<field name="media" type="string" indexed="true" stored="true"/>
<field name="country" type="string" indexed="true" stored="true"/>
<field name="date" type="string" indexed="true" stored="true"/>
</fields>
<defaultSearchField>content</defaultSearchField>
<uniqueKey>url</uniqueKey>
</schema>
1 ответ
Я решил это. Я увеличил размер стека внутри файла solandra.in.env. Поэтому я установил параметр -Xss512k, если у кого-то возникла такая же проблема.