From: Joe W. <jo...@gm...> - 2010-11-01 20:46:07
|
Hi Sidharth, > How can i put a search index on <meta:notes> elements in the xml file. I > mean what should i add into the collection.xconf and search.xq file ? First, I assume that you want a Lucene index -- i.e. you want to be able to do fulltext, keyword-style searches. (This is in contrast to some other indexes, as described in the indexing documentation.) You'll want to apply a Lucene index to the meta:notes element: <collection xmlns="http://exist-db.org/collection-config/1.0"> <index xmlns:meta="http://morphml.org/metadata/schema"> <lucene> <analyzer class="org.apache.lucene.analysis.standard.StandardAnalyzer"/> <create qname="meta:index"/> </lucene> </index> </collection> Note that the meta namespace is declared with an @xmlns attribute on the <index> element, as recommended in http://www.exist-db.org/indexing.html#N103FC, under the section titled, "Namespaces": "If the document to be indexed uses namespaces, you should add an xmlns attribute for each of the required namespaces to the <index> element." With this index, you are free to create XQuery search services with queries like: declare namespace meta="http://morphml.org/metadata/schema"; <hits>{ for $hit in //meta:notes[ft:query(., 'network')] return <hit>{$hit}</hit> }</hits> For more on Lucene query syntax, see http://www.exist-db.org/lucene.html. Cheers, Joe |