[VUFIND-601] Searches for Universal Decimal Classification with backslashed colons and brackets are broken Created: 13/Jun/12 Updated: 30/Aug/13 Resolved: 30/Aug/13 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved VuFind None None Type: Reporter: Resolution: Labels: Bug Vaclav Rosecky Fixed None Attachments: 2.2 Priority: Assignee: Votes: Minor Demian Katz 1 UDC.patch Description We implemented browsing of UDC and searches for UDC which contains backslashed colons and brackets (to not collide with advanced search using Lucene/SOLR syntax) are broken. Attached patch tests query string for backslashed colons or brackets and if it contains them, the search is not considered advanced, so the query will succeed. Example of failed search is: \(0\:82\-192\) Comments Comment by Demian Katz [ 17/Jan/13 ] I've been holding off on committing this until after search refactoring is completed to avoid complicating the transition... but I think it makes sense to include this improvement. A related idea: can we create a recommendation module that escapes colons and other special characters in the query? This way, when the user enters an innocent query that gets misinterpreted as advanced Solr syntax, in addition to the current error message about malformed query, we could also provide some alternative queries to try -- perhaps one with the whole thing treated as a phrase, one with special characters escaped, etc. Maybe we could even go so far as to make this happen automatically and then inform the user about it after the fact -the Google approach. Comment by Tom Misilo [ 08/Apr/13 ] I am trying this on 1.4 with the following call number: FEM 1.209:120112 and it does not seem to make any difference when searching? Any ideas? Comment by Demian Katz [ 08/Apr/13 ] I think that the main purpose of this patch is to make VuFind tolerant of escaped colons... but it doesn't actually do any escaping; it expects the user to do that. Try searching for: FEM 1.209\:120112 Does that work better? If that works, you could add another munge rule to searchspecs.yaml to enforce the escaping. Comment by Tom Misilo [ 08/Apr/13 ] I was able to get it working using this patch as well as VUFIND-686. I can do the search with just the : Works on 1.3, and 1.4 Comment by Demian Katz [ 30/Aug/13 ] VUFIND-879 should help with the colon portion of this problem. Comment by Demian Katz [ 30/Aug/13 ] Attached patch adapted here: https://github.com/vufind-org/vufind/commit/102893dfa42c7d211840046656ab710530f27ad5 Generated at Wed Mar 02 13:13:36 EST 2016 using JIRA 6.2.6#6264sha1:ee7642271310c09537d01e5848a003c4498a0eed.