From: Ranju U. <Ran...@nu...> - 2012-04-17 09:51:53
|
Thanks for the suggestion Eoghan.Can I seperate the ids by coma (,) in the text file or what is the delimeter to be used? Thanks Ranju. ----- Original Message ----- From: Demian Katz <dem...@vi...> Date: Monday, April 16, 2012 4:52 pm Subject: RE: [VuFind-General] xslt processor no found To: Eoghan Ó Carragáin <eog...@gm...> Cc: Ranju Upadhyay <Ran...@nu...>, "vuf...@li..." <vuf...@li...> <!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman","serif";} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} p {mso-style-priority:99; mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; font-size:12.0pt; font-family:"Times New Roman","serif";} span.EmailStyle18 {mso-style-type:personal-reply; font-family:"Calibri","sans-serif"; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;} div.WordSection1 {page:WordSection1;} --> | > Yes, good point. I was so determined to delete using the <query> feature of Solr, that I didn’t think of the fact that you can just use a fixed ID list with the deletes tool. That’s definitely the easiest option. > > - Demian > > From: Eoghan Ó Carragáin [mailto:eog...@gm...] > Sent: Monday, April 16, 2012 11:45 AM > To: Demian Katz > Cc: Ranju Upadhyay; vuf...@li... > Subject: Re: [VuFind-General] xslt processor no found > > Hi Demian, > Would /util/deletes.php not cover this? > > I remember using it with a text file of ids on windows in the past, e.g. php deletes.php c:\ids2delete.txt flat solr > > Thanks, > Eoghan > On 16 April 2012 16:30, Demian Katz <dem...@vi...> wrote: > It looks like you can download a Windows XP version of CURL here: > > http://curl.haxx.se/download.html > > If that doesn’t work and you need more details on the PHP approach, just let me know! > > - Demian > > From: Ranju Upadhyay [mailto:Ran...@nu...] > Sent: Monday, April 16, 2012 11:28 AM > > To: Demian Katz > Cc: vuf...@li... > Subject: Re: RE: RE: [VuFind-General] xslt processor no found > > Hi Damien, > > yes I tried the lowercase curl as well but no joy.I am windows xp( this is my dev environment). > Ranju. > > > ----- Original Message ----- > From: Demian Katz <dem...@vi...> > Date: Monday, April 16, 2012 4:19 pm > Subject: RE: RE: [VuFind-General] xslt processor no found > To: Ranju Upadhyay <Ran...@nu...> > Cc: "vuf...@li..." <vuf...@li...> ----------------------------------------------------------- | > Did you try typing CURL in lowercase? What operating system are you using? It should be easy to install on most Linux platforms through a package command. If that’s not practical, you can create a PHP script that uses the Solr class from web/sys/Solr.php to connect to your Solr index and send the <delete> request using the saveRecord() method. - Demian > From: Ranju Upadhyay [mailto:Ran...@nu...] > Sent: Monday, April 16, 2012 11:04 AM > To: Demian Katz > Cc: vuf...@li... > Subject: Re: RE: [VuFind-General] xslt processor no found > > tried running the following command from my php directory (C:\xampp\php): > > CURL http://localhost:8080/solr/update -H "Content-Type: text/xml" --data-binary "<delete><query>id:nuimeprn*</query></delete>"; > It came back saying CURL is not recognized as internal or external command, so I guess CURL is not installed in my machine. > What would be the other way of deleteing these reords? > Thanks > Ranju. > > > > > ----- Original Message ----- > From: Demian Katz <dem...@vi...> > Date: Monday, April 16, 2012 3:46 pm > Subject: RE: [VuFind-General] xslt processor no found > To: Ranju Upadhyay <Ran...@nu...> > Cc: "vuf...@li..." <vuf...@li...> ----------------------------------------------------------- | > If you have the CURL command-line tools installed on your server, you should be able to run that command from the command line without involving PHP at all… I think you might want to change your query to: <query>id:nuimeprn*</query> - Demian > From: Ranju Upadhyay [mailto:Ran...@nu...] > Sent: Monday, April 16, 2012 10:45 AM > To: Ranju Upadhyay > Cc: Demian Katz; vuf...@li... > Subject: Re: [VuFind-General] xslt processor no found > > or may be what I need to do is create a php file like this: > > <?php > curl http://localhost:8080/solr/update -H "Content-Type: text/xml" --data-binary '<delete><query>nuimeprn</query></delete>'; > ?> > > and then run it as php myfile.php ? > > Ranju. > > ----- Original Message ----- > From: Ranju Upadhyay <Ran...@nu...> > Date: Monday, April 16, 2012 3:35 pm > Subject: Re: [VuFind-General] xslt processor no found > To: Demian Katz <dem...@vi...> > Cc: "vuf...@li..." <vuf...@li...> > I guess this is how my delete schema would look like: > > <delete> > <id>nuimeprn:1213</id> > <id>nuimeprn:1214</id> > <id>nuimeprn:1215</id> > <id>nuimeprn:1216</id> > <id>nuimeprn:1217</id> > <id>nuimeprn:1218</id> > <id>nuimeprn:1219</id> > <id>nuimeprn:1220</id> > <id>nuimeprn:1221</id> > <id>nuimeprn:1223</id> > </delete> > > If I were to do : > > http://localhost:8080/solr/update -H "Content-Type: text/xml" --data-binary ' > <delete> > <id>nuimeprn:1213</id> > <id>nuimeprn:1214</id> > <id>nuimeprn:1215</id> > <id>nuimeprn:1216</id> > <id>nuimeprn:1217</id> > <id>nuimeprn:1218</id> > <id>nuimeprn:1219</id> > <id>nuimeprn:1220</id> > <id>nuimeprn:1221</id> > <id>nuimeprn:1223</id> > </delete>' > > In the solr's biblio interface on my browser, Will this do? > > Or in my case I think I can make the query as simple as <delete><query>nuimeprn</query></delete> (this will filter 10 problem eprints records) > > and then do > > http://localhost:8080/solr/update -H "Content-Type: text/xml" --data-binary ' <delete>><query>nuimeprn</query></delete>' > Is this the right way to delete? > > Thanks > Ranju. > > > ----- Original Message ----- > From: Demian Katz <dem...@vi...> > Date: Monday, April 16, 2012 3:01 pm > Subject: RE: RE: RE: RE: [VuFind-General] xslt processor no found > To: Ranju Upadhyay <Ran...@nu...> > Cc: David Maus <ma...@ha...>, "vuf...@li..." <vuf...@li...> ----------------------------------------------------------- | > You will need to delete the 10 problem records. Solr offers a delete-by-query mechanism described here: http://wiki.apache.org/solr/UpdateXmlMessages#A.22delete.22_documents_by_ID_and_by_Query If your harvested records have a different collection facet, you could use that as the delete criterion… or a wildcard query on ID would also work. VuFind doesn’t currently include a tool to use this delete mechanism, but you can post an XML document directly to the Solr server using CURL, or you can write a simple PHP script to do the same thing. Let me know if you need more detailed help with this. - Demian > From: Ranju Upadhyay [mailto:Ran...@nu...] > Sent: Monday, April 16, 2012 9:56 AM > To: Demian Katz > Cc: David Maus; vuf...@li... > Subject: Re: RE: RE: RE: [VuFind-General] xslt processor no found > > Can I simply re-harvest and re-import after the change or do I somehow need to delete these already indexed 10 xml records to see the new change? > > I do not want to delete the entire index because that would delete my MARC records as well. > > Thanks > Ranju. > > ----- Original Message ----- > From: Demian Katz <dem...@vi...> > Date: Monday, April 16, 2012 2:48 pm > Subject: RE: RE: RE: [VuFind-General] xslt processor no found > To: Ranju Upadhyay <Ran...@nu...> > Cc: David Maus <ma...@ha...>, "vuf...@li..." <vuf...@li...> ----------------------------------------------------------- | > Yes, I recommend changing your search/replace parameters to get rid of colons. VuFind has some trouble with IDs that contain colons. There are some patches available which help reduce these problems, but it is easier to simply avoid colons when possible. - Demian > From: Ranju Upadhyay [mailto:Ran...@nu...] > Sent: Monday, April 16, 2012 9:45 AM > To: Demian Katz > Cc: David Maus; vuf...@li... > Subject: Re: RE: RE: [VuFind-General] xslt processor no found > > Thanks Damien for this explanation . I think I have progressed a little bit now.This is how my oai.ini looks like: > > [NUIMEprints] > url = http://xeprints.nuim.ie/cgi/oai2 > metadataPrefix = oai_dc > idSearch[] = "/^oai:generic.eprints.org/" > idReplace[] = "nuimeprn" > ;idSearch[] = "/\//" > ;idReplace[] = "-" > injectId = "identifier" > ;injectDate = "datestamp" > > This creates an additional tag called identifier in the harvested xml records with value like nuimeprn:1 etc. > > I tried importing 10 xml records, which it did and indexed them as well .However when I try to go into the detail of the records I get follwoing error: > ------------------------------------------------------------ > An error has occurred > Unable to process query > Solr Returned: Query parsing error: Cannot parse 'id:nuimeprn:1218': Encountered " ":" ": "" at line 1, column 11. Was expecting one of: <EOF> <AND> ... <OR> ... <NOT> ... "+" ... "-" ... "(" ... "*" ... "^" ... <QUOTED> ... <TERM> ... <FUZZY_SLOP> ... <PREFIXTERM> ... <WILDTERM> ... "[" ... "{" ... <NUMBER> ... > RequestURI=/solr/biblio/select/ > ------------------------------------------------------ > It looks it does not like the use of ":" .Should I have used - instead , i.e. my values should have been something like: > idSearch[] = "/^oai:generic.eprints.org:/" > and > idReplace[] = "nuimeprn-" > Thanks > Ranju. > > > > > > > ----- Original Message ----- > From: Demian Katz <dem...@vi...> > Date: Monday, April 16, 2012 1:55 pm > Subject: RE: RE: [VuFind-General] xslt processor no found > To: Ranju Upadhyay <Ran...@nu...> > Cc: David Maus <ma...@ha...>, "vuf...@li..." <vuf...@li...> ----------------------------------------------------------- | > Let me clarify how injectId works – I think that will make this easier. The OAI-PMH response has two sections for each record, a <header> section with context information and a <metadata> section with the actual record. VuFind’s harvester only saves the <metadata> section to disk, since the header may or may not be relevant. The purpose of the injectId parameter is to take the record’s unique ID (which is part of the <header> section) and copy it into the <metadata> section. The value of the injectId setting is the name of the tag to create inside the harvested record. So for example, if you turn on: injectId = “identifier” Your records will have an added <identifier> tag containing text extracted from the OAI-PMH header. Since OAI-PMH unique IDs tend to be prefixed with things like oai:myuniversity:edu:, that’s where the idSearch/idReplace come into play – you can convert the OAI prefix into something shorter and friendlier. I would recommend turning on injectId, harvesting a couple of records, looking at the results, and then tuning idSearch/idReplace accordingly. I think this will solve your problem. However, if you prefer to solve your problem by using the content of dc:identifier tags, you might be able to do that with some complicated changes to your XSLT – but that’s not something that you would typically address at harvest time. The point of the harvester settings is to add missing data to the harvested records. If the data is already there but needs to be manipulated, you are better off doing that manipulation at the indexing stage rather than at harvest time. - Demian > From: Ranju Upadhyay [mailto:Ran...@nu...] > Sent: Monday, April 16, 2012 7:29 AM > To: Demian Katz > Cc: David Maus; vuf...@li... > Subject: Re: RE: [VuFind-General] xslt processor no found > > Hi Damien, > > having looked at the xml that I get and my oai.ini configuration, I have some thoughts.Currently my oai.ini looks like this: > [NUIMEprints] > url = http://xeprints.nuim.ie/cgi/oai2 > metadataPrefix = oai_dc > ;idSearch[] = "/^oai:myuniversity.edu:/" > ;idReplace[] = "ojs-" > ;idSearch[] = "/\//" > ;idReplace[] = "-" > ;injectId = "identifier" > ;injectDate = "datestamp" > If I were to change this configuration to this: > > [NUIMEprints] > url = http://xeprints.nuim.ie/cgi/oai2 > metadataPrefix = oai_dc > idSearch[] = "/^http:\/\/xeprints.nuim.ie\//" > idReplace[] = "nuimeprn-" > ;idSearch[] = "/\//" > ;idReplace[] = "-" > injectId = "<dc:relation>" > ;injectDate = "datestamp" > Basially I am trying to use the dc:relation field, which holds the unique numeric eprint id (preceeded by the base repo url), to give me only the numeric part of this uuid and prefix it with a namespace called nuimeprn.And that would be the uuid for vufind. > Do you think this might work? > > Thanks > Ranju. > ----- Original Message ----- > From: Demian Katz <dem...@vi...> > Date: Wednesday, April 11, 2012 1:47 pm > Subject: RE: [VuFind-General] xslt processor no found > To: Ranju Upadhyay <Ran...@nu...>, David Maus <ma...@ha...> > Cc: "vuf...@li..." <vuf...@li...> -----------------------------------------------------------> | -----------------------------------------------------------> | -----------------------------------------------------------> | ----------------------------------------------------------- > > ----------------------------------------------------------------- > > ------------- > > For Developers, A Lot Can Happen In A Second. > > Boundary is the first to Know...and Tell You. > > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > > http://p.sf.net/sfu/Boundary-d2dvs2> _______________________________________________ > > VuFind-General mailing list > > VuF...@li... > > https://lists.sourceforge.net/lists/listinfo/vufind-general | -----------------------------------------------------------> | -----------------------------------------------------------> > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > > _______________________________________________ > VuFind-General mailing list > VuF...@li... > https://lists.sourceforge.net/lists/listinfo/vufind-general > |----------------------------------------------------------- ----------------------------------------------------------- | > A couple of things to check: 1.) Do the records you have imported have proper unique IDs? If you haven’t already, you may need to use the injectId and other ID manipulation settings in the OAI-PMH harvester configuration to ensure that the harvested XML has ID data in it. Without appropriate IDs, your import can end up loading all of the records over top of each other with a blank string as the unique ID. 2.) Did you optimize your index after the harvest? You can do this by going to the util subfolder of VuFind and running “php optimize.php” from the command line. Sometimes Solr doesn’t commit all of the records to the index right away, and running an optimize is a good way to ensure that everything is up to date. 3.) Did you try looking up the problem record by ID? Assuming it does have an appropriate unique ID, you can do a search for id:”your ID here” to look up just the one record. If you get a result, you can look at staff view to see if fields are missing from the index. If you don’t find results, further troubleshooting may be necessary. I hope this is helpful – if you’re still stuck after trying these things, let us know! - Demian > From: Ranju Upadhyay [mailto:Ran...@nu...] > Sent: Wednesday, April 11, 2012 7:48 AM > To: David Maus > Cc: vuf...@li... > Subject: Re: [VuFind-General] xslt processor no found > > Surprisingly enough, the php_xsl.dll file exists in the C:\xampp\php\ext directory .So I simply added the line extension=php_xsl.dll in my php.ini and restarted apache.This seem to take care of the error. > > When I ran the batch-import-xsl.bat with relavant parameters it said succefully imported . However I do not see any result when I search on some words that are present in these xml files for instance one of the xml files has Corcoran, Mary as <dc:creator> but when I search on this I get no result. > > > Thanks > Ranju Upadhyay > National Universiy of Ireland Maynooth. > > > > > > ----- Original Message ----- > From: David Maus <ma...@ha...> > Date: Wednesday, April 11, 2012 11:31 am > Subject: Re: [VuFind-General] xslt processor no found > To: Ranju Upadhyay <Ran...@nu...> > Cc: vuf...@li... > > > Hi, > > > > At Wed, 11 Apr 2012 10:44:42 +0100, > > Ranju Upadhyay wrote: > > > > > > [1 <multipart/alternative (7bit)>] > > > [1.1 <text/plain; us-ascii (7bit)>] > > > > > > [1.2 <text/html; us-ascii (7bit)>] > > > Hi List, > > > > > > I am trying to get some non-march data ( import of marc > > records was successful) in vufind ( oia_dc xml).This data > > is brought from our eprints repo and I am trying to use the > > dspace xsl for this ( because dspace data is also oai_dc > > > afterall).I can get VuFind harvester to bring the data > > from eprints repo but when I run batch-import_xsl to import the > > records I get "XSLT processor not found error". > > > > > > I get the same error when I click on the staff_view on the > > detailed page of searc result. > > > > > > Looks like there is no xslt processer . How can I add it now? > > > > > > My php was installed via xampp ( this is a dev environment in > > windows xp). > > > > You most likely need to activate the XSL extions in PHP. Find the > > php.ini that is used by Apache (IIRC its the one in Apache's bin/ > > directory), open it and look for a line that reads > > > > ;extension=php_xsl.dll > > > > Uncomment and restart Apache. > > > > Best, > > -- David > > -- > > David Maus > > Herzog August Bibliothek - D-38299 Wolfenbuettel > > Phone: +49-5331-808-379 > > Email: ma...@ha... > > > > PGP Key 0x0CC2E093512F7385 > > Fingerprint 1AD2 EE67 224F 18C5 EA55 98AD 0CC2 E093 512F 7385 | ----------------------------------------------------------- |