Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while searching #82

Closed
heidivanparys opened this issue Nov 12, 2021 · 2 comments
Closed

Error while searching #82

heidivanparys opened this issue Nov 12, 2021 · 2 comments
Labels
solved Solution developed and accepted, not yet deployed Type: Bug Something isn't working
Milestone

Comments

@heidivanparys
Copy link
Contributor

I get the error below while searching here:

image

Any clues on what may be wrong would be very welcome. Is it an issue with the code? Or a problem with the setup of Apache Solr?

The version of Apache Solr is 8.6.0 (both the installation itself and the Java API used).

[DEBUG] 2021-11-12 19:45:10.971 [http-nio-8080-exec-253] [solr.SolrHandler.performSearch:316] - Filter queries: [registry_localid:registry, register_localid:GrunddataKodeliste, itemclass_localid:GrunddataKodeliste-item, -collection_localid:*]
[DEBUG] 2021-11-12 19:45:10.971 [http-nio-8080-exec-253] [solr.SolrHandler.performSearch:321] - Solr query: fl_label_da:historisk*
[ERROR] 2021-11-12 19:45:10.975 [http-nio-8080-exec-253] [solr.SolrHandler.performSearch:328] - Error from server at http://localhost:8983/solr/re3gistry2: undefined field: "collection_localid"
org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://localhost:8983/solr/re3gistry2: undefined field: "collection_localid"
	at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:681) ~[solr-solrj-8.6.0.jar:8.6.0 a9c5fb0da2dfc8c7375622c80dbf1a0cc26f44dc - broustant - 2020-07-07 12:53:18]
	at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:266) ~[solr-solrj-8.6.0.jar:8.6.0 a9c5fb0da2dfc8c7375622c80dbf1a0cc26f44dc - broustant - 2020-07-07 12:53:18]
	at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248) ~[solr-solrj-8.6.0.jar:8.6.0 a9c5fb0da2dfc8c7375622c80dbf1a0cc26f44dc - broustant - 2020-07-07 12:53:18]
	at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:214) ~[solr-solrj-8.6.0.jar:8.6.0 a9c5fb0da2dfc8c7375622c80dbf1a0cc26f44dc - broustant - 2020-07-07 12:53:18]
	at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:1003) ~[solr-solrj-8.6.0.jar:8.6.0 a9c5fb0da2dfc8c7375622c80dbf1a0cc26f44dc - broustant - 2020-07-07 12:53:18]
	at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:1018) ~[solr-solrj-8.6.0.jar:8.6.0 a9c5fb0da2dfc8c7375622c80dbf1a0cc26f44dc - broustant - 2020-07-07 12:53:18]
	at eu.europa.ec.re3gistry2.javaapi.solr.SolrHandler.performSearch(SolrHandler.java:322) [Re3gistry2JavaAPI-1.0.jar:?]
	at eu.europa.ec.re3gistry2.web.controller.ItemListLoaderServlet.processRequest(ItemListLoaderServlet.java:183) [classes/:?]
	at eu.europa.ec.re3gistry2.web.controller.ItemListLoaderServlet.doGet(ItemListLoaderServlet.java:631) [classes/:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [servlet-api.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:47) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) [shiro-core-1.8.0.jar:1.8.0]
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.4.jar:1.2.4]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at eu.europa.ec.re3gistry2.web.controller.LoadSalt.doFilter(LoadSalt.java:78) [classes/:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.14.1.jar:2.14.1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.70]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:196) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:8.5.70]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:8.5.70]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.70]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) [catalina.jar:8.5.70]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:8.5.70]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364) [catalina.jar:8.5.70]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624) [tomcat-coyote.jar:8.5.70]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:8.5.70]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1650) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.70]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:8.5.70]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:8.5.70]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.70]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
[TRACE] 2021-11-12 19:45:10.976 [http-nio-8080-exec-253] [controller.ItemListLoaderServlet.processRequest:197] - No results found
@emanuelaepure10
Copy link
Contributor

Dear @heidivanparys

Seems that the field "collection_localid" is missing from the list of fields of "GrunddataKodeliste-item" item class.
Actually this one is created automatically using the bulk import, and by interface if you dont have child collection probably you dont need it.
In this sense we should check first in the SolrHander if the fields exist and than use it.
Is the search working on the registry page?
Thank you

@emanuelaepure10 emanuelaepure10 added the under analysis A first analysis is performing label Nov 12, 2021
@heidivanparys
Copy link
Contributor Author

In this sense we should check first in the SolrHander if the fields exist and than use it.

Any help on how to do this would be really helpful, I have no experience with Apache Solr. Changes are needed in the followings lines of code I guess:

if (regItem.getRegItemclass().getRegItemclasstype().getLocalid().equals(BaseConstants.KEY_ITEMCLASS_TYPE_REGISTER)
|| regItem.getRegItemclass().getRegItemclasstype().getLocalid().equals(BaseConstants.KEY_ITEMCLASS_TYPE_REGISTRY)) {
filterQueries.add("-collection_localid:*");
if (childItemclasses != null && childItemclasses.size() > 1) {
filterQueries.add("itemclass_type:register");
filterQueries.add("itemclass_localid:*");
}
} else {
if (childItemclasses != null && childItemclasses.size() == 1) {
filterQueries.add("collection_localid:" + regItem.getLocalid());
} else {
filterQueries.add("-collection_localid:*");
}
}

Is the search working on the registry page?

You mean the public front-end? We haven't yet managed to get that front-end working...

Or do you mean on re3gistry2/browse? It gives the same error there.

@oscar9 oscar9 added the Type: Bug Something isn't working label Jun 3, 2022
oscar9 added a commit that referenced this issue Jul 20, 2022
When an item it is not a collection it should not include the field  collection_localid. This check is done at the begining of the code.
@oscar9 oscar9 added ready for testing Solution is ready to test and removed under analysis A first analysis is performing labels Jul 20, 2022
@oscar9 oscar9 added this to the v2.4.0 milestone Oct 4, 2022
@oscar9 oscar9 added solved Solution developed and accepted, not yet deployed and removed ready for testing Solution is ready to test labels Oct 18, 2022
@oscar9 oscar9 closed this as completed Oct 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
solved Solution developed and accepted, not yet deployed Type: Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants