From: Guillaume P. <gpo...@gm...> - 2005-01-21 18:55:36
|
Hi, It seems there is a problem with the fulltext index in snapshot-20050106. Here is the relevant section in conf.xml: <indexer stemming="no" caseSensitive="no" suppress-whitespace="both" index-depth="1" tokenizer="org.exist.storage.analysis.SimpleTokenizer" track-term-freq="yes" validation="no" preserve-whitespace-mixed-content="no"> <index> <fulltext default="all" attributes="true" alphanum="true"> <exclude path="/auth"/> </fulltext> </index> <!-- Specify the location of one or more catalog files. Catalogs are used to resolve external entities in XML documents. --> <entity-resolver> <catalog file="webapp/WEB-INF/catalog"/> </entity-resolver> </indexer> I use a query that constructs an element by aggregating information form various documents, using the fulltext index to resolve id references. I have a file named cells.xml that contains the following: <cells> <cell id="C102" > <ref modelId="M103"/> <ref modelId="M104"/> <ref modelId="M105"/> </cell> </cells> Each cell references a list of models that are present in a subcollection; they all have an id attribute in their root element. Here is the query I have been using for some time without problem, and that now produces incorrect results: let $cell := document('/ina/test.inaRepository/cells.xml')/cells/cell[@id='C102'] return <cell> { $cell/@id, for $ref in $cell/ref let $model := collection('/ina/test.inaRepository/models/')/*[@id &= $ref/@modelId ] return <description> { $model/@id } </description> } </cell> Executing this request produces the following result: <cell xmlns="http://redcrea.net/NS/redcrea" id="C102"> <description id="M103"/> <description id="M103"/> <description id="M103"/> </cell> While by replacing the &= operator by the = operator, I get the correct results, which are: <cell xmlns="http://redcrea.net/NS/redcrea" id="C102"> <description id="M103"/> <description id="M104"/> <description id="M105"/> </cell> |