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

clicking through search results fails #6

Closed
paregorios opened this issue Nov 17, 2015 · 13 comments
Closed

clicking through search results fails #6

paregorios opened this issue Nov 17, 2015 · 13 comments
Labels

Comments

@paregorios
Copy link

Clone and install EFES following instructions at http://kiln.readthedocs.org/en/latest/quickstart.html

Mac OSX 10.11.1

  • Visit /search
  • Select any faceted search result
  • Pick any result link on the right hand side and click on it

Result:

An error occurred
The resource you requested was not found.

Stacktrace:

org.apache.cocoon.ResourceNotFoundException: No pipeline matched request: 5.2.html
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:149)
    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:235)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
    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:235)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
    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:235)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
    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:235)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
    at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
    at org.apache.cocoon.Cocoon.process(Cocoon.java:699)
    at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1154)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:698)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:505)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:564)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1094)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:432)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1028)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:258)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:445)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:267)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:224)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)
    at java.lang.Thread.run(Thread.java:745)
@paregorios paregorios added the bug label Nov 17, 2015
@emmamorlock
Copy link

Hi did you see any facets here?
When I tested it I got none:
zone "Selected searches" displays message: "no filters"

@paregorios
Copy link
Author

I did see facets, but it may be because I had run the indexing first.

Tom Elliott, Ph.D.
Associate Director for Digital Programs and Senior Research Scholar
Institute for the Study of the Ancient World (NYU)
http://isaw.nyu.edu/people/staff/tom-elliott

On Wed, Nov 18, 2015 at 10:05 AM, emmamorlock notifications@github.com
wrote:

Hi did you see any facets here?
When I tested it I got none:
zone "Selected searches" displays message: "no filters"


Reply to this email directly or view it on GitHub
#6 (comment).

@emmamorlock
Copy link

Sounds coherent. How do you do that?

@paregorios
Copy link
Author

After following steps 1-4 here I clicked on "admin" and then clicked the "index all (search)" button.

@emmamorlock
Copy link

Thanks! hadn't seen the admin entry.
After indexation, faceted searches works fine for me: no errors

@paregorios
Copy link
Author

Just to clarify: you are able to click through the search results list to a single file without errors?

@ajenhl
Copy link

ajenhl commented Nov 18, 2015

The issue is that the indexing (specifically in stylesheets/solr/tei-to-solr-common.xsl) uses publicatonStmt/idno[@type="filename"] as the tei-id, which doesn't work well when that is not, in fact, the filename. Either the markup is wrong, or the filenames need to be changed to match the data, or another ID is added to the XML that does match the filename.

@emmamorlock
Copy link

it seems to me that its another pb: the fool path to the resource is not served.
for exemple for the result 'A00800' the url served is 'http://localhost:9999/A00800.html' if you add in "samples/iospe/ircyr" to the url, it seem to give you the ressource http://localhost:9999/samples/iospe/ircyr.A00800.html
But the result list should show the title of the inscription and not the file name without extension. In that case "Imperial honours for plural emperors"

@emmamorlock
Copy link

Il meant full path

@ajenhl
Copy link

ajenhl commented Nov 18, 2015

The URL for a search result is generated using the information stored in the search index for the filename. This information needs to be the path and filename (relative to the content/xml/tei directory) of the file that was the source of the indexed data, as you say.

The indexing needs to be changed, either to take the path and filename from the filesystem, or to get that information from somewhere else in the XML. If the XML as it stands is deemed correct, then the former solution should be implemented.

The display of the title is a separate issue.

@gabrielbodard
Copy link

Yes, it's a combination of both things. When putting the example files in place, I changed the filenames to make them more reliably unique (i.e. containing collection name as well as internal id), but forgot to change the idno[type=filename]. However, the search index also needs the path to the correct folder, which may be (a) "samples", (b) "inscriptions", or (c) a sub-directory of "inscriptions" for projects with nested file structure.

@gabrielbodard
Copy link

I fixed the first issue (incorrect idno[type=filename]) and pushed them to the repo. The other part is search code that I haven't delved into, however.

@ajenhl
Copy link

ajenhl commented Dec 12, 2015

I'm about to commit a fix for this. Unfortunately it tramples on the multilingual element a little, but the alternatives are a poorer fix or refactoring a bunch of other stuff. The latter can be done later.

After updating the code, delete the data in webapps/solr/data/index, start Kiln, and perform a reindex.

@ajenhl ajenhl closed this as completed in fd0ed19 Dec 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants