Ich führe eine XQuery-Suche gegen eine Wortabfrage durch, um Werte mithilfe von Co-Vorkommen zurückzugeben. Das Problem besteht jedoch darin, dass beim Ausführen einer Platzhaltersuche bestimmte falsche Positive zurückgegeben werden, die als Teil der übereinstimmenden Dokumente zurückgegeben werden. Das Element Wort Abfrage ausgeführt wirdFalse Positive Zurückgegeben in Jokerzeichensuche in Marklogic 7
cts:element-word-query(fn:QName("", "contents"), "project monitor*",
("case-insensitive","punctuation-insensitive","stemmed","lang=en"), 1)
Die Abfrage der ausgeführt wird, ist
cts:element-value-co-occurrences(xs:QName("node1"), xs:QName("node2"),
("collation=http://marklogic.com/collation/"),
cts:and-query((
cts:element-word-query(fn:QName("", "node3"), "project monitor*", ("case-insensitive","punctuation-insensitive","stemmed","lang=en"), 1),
cts:element-range-query(
xs:QName("node4"),
"=",
xs:long('1234567891011')
),
cts:element-attribute-range-query(
xs:QName("node5"),
xs:QName("attribute1"),
"=",
""
),
cts:collection-query('collection1'),
()
))
)
Es ist zwei passenden Ergebnisse der Rückkehr, die eine positive und eine hat hat eine falsche positive Elemente.
<cts:co-occurrence>
<cts:value xsi:type="xs:string">General</cts:value>
<cts:value xsi:type="xs:string">/pdf/text-document/12345_0_1234.xml</cts:value>
</cts:co-occurrence>
<cts:co-occurrence>
<cts:value xsi:type="xs:string">Other</cts:value>
<cts:value xsi:type="xs:string">/pdf/text-doc/1234_1_0000.xml</cts:value>
</cts:co-occurrence>
Können Sie die beiden Spiele posten? Es hängt wahrscheinlich mit Ihren Indexeinstellungen zusammen. – wst
Wie sind Ihre Dokumente strukturiert? Fallen diese beiden Werte aus demselben Dokument oder aus unterschiedlichen Dokumenten? Welche Werte stimmen mit der 'cts: element-word-query' überein (die richtige und die falsche positive)? – wst