Uploaded image for project: 'CMS'
  1. CMS
  2. CMS-9886

[Solr Search Tool] Searching on a mixin or a non final content type without title

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • 4.8.6, 4.9.0
    • 4.2.0
    • Plugin : Search
    • None

      On a searching on a mixin or a non final content type that doesn't hold a title metadata (like it's can be for some ODF content types), if the user doesn't select columns or choose title as a column, he get an error :

      Search field with path 'title' refers to an unknown indexing field: title
      java.lang.IllegalArgumentException: Search field with path 'title' refers to an unknown indexing field: title 
          at org.ametys.cms.search.content.ContentSearchHelper.getSearchField(ContentSearchHelper.java:241) 
          at org.ametys.cms.search.content.ContentSearcherFactory$SimpleContentSearcher.getSort(ContentSearcherFactory.java:618) 
          at org.ametys.cms.search.content.ContentSearcherFactory$SimpleContentSearcher._searcher(ContentSearcherFactory.java:572) 
          at org.ametys.cms.search.content.ContentSearcherFactory$SimpleContentSearcher._searcher(ContentSearcherFactory.java:562) 
          at org.ametys.cms.search.content.ContentSearcherFactory$SimpleContentSearcher.searchWithFacets(ContentSearcherFactory.java:557) 
          at org.ametys.cms.search.solr.SolrQuerySearchAction.doSearch(SolrQuerySearchAction.java:141) 
          at org.ametys.cms.search.cocoon.SearchAction.act(SearchAction.java:137) 
          at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:125) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194) 
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:111) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194) 
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267) 
          at org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:333) 
          at org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:215) 
          at org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:68) 
          at org.apache.excalibur.source.impl.SourceResolverImpl.resolveURI(SourceResolverImpl.java:208) 
          at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558) 
          at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558) 
          at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558) 
          at org.ametys.core.ui.dispatcher.DispatchGenerator._dispatching(DispatchGenerator.java:149) 
          at org.ametys.core.ui.dispatcher.DispatchGenerator.generate(DispatchGenerator.java:92) 
          at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581) 
          at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:301) 
          at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:483) 
          at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:144) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) 
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) 
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47) 
          at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143) 
          at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69) 
          at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236) 
          at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:178) 
          at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254) 
          at org.apache.cocoon.Cocoon.process(Cocoon.java:699) 
          at org.ametys.runtime.servlet.RuntimeServlet.service(RuntimeServlet.java:548) 
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
          at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) 
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
          at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) 
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) 
          at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132) 
          at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) 
          at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539) 
          at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495) 
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
          at java.lang.Thread.run(Thread.java:745) 

      But all contents have a title (it can be multilingual) so we should be able to display the title.

      This can resolve the issue CMS-9526 ([Solr search tool] Default sort by title ?) and, anyway, for the moment the title column is not well interpreted with multilingual string (CMS-9139 [Solr search tool] Multilingual metadata are not well displayed in the results).

            Unassigned Unassigned
            bmaurel Bérénice Maurel
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: