我是MarkLogic的新手。我正在寻找一种方法,只在使用jsearch时从文档中输出匹配元素,但执行查询时,元素与搜索到的词语之间的匹配是未知的。让我来举例说明:Marklogic搜索:仅使用jsearch输出匹配元素和文档的uri
jsearch.documents()
.where(cts.wordQuery('mark'))
.result();
这给了我包含'mark'的所有文档,例如
{
"results": [
{
"index": 0,
"uri": "/books/twain4.json",
"score": 14336,
"confidence": 0.432453483343124,
"fitness": 0.7490314245224,
"document": {
"title": "Adventures of Huckleberry Finn",
"author": "Mark Twain",
"edition": {
"format": "hardback",
"price": 18
}
,
"synopsis": "The adventures of Huck, a boy of 13, and Jim, an escaped slave, rafting down the Mississippi River in pre-Civil War America."
}
}
, ...
不过,我想知道,这样它给地方找到一个匹配的每个文档只有匹配的元素(S)我如何调整查询:
{
"results": [
{
"index": 0,
"uri": "/books/twain4.json",
"score": 14336,
"confidence": 0.432453483343124,
"fitness": 0.7490314245224,
"document": {
"author": "Mark Twain",
}
}
, ...
只有作者元素在这里有匹配,但是在执行查询时这个元素是未知的。我只想显示上面作者的匹配值。 在此先感谢!
Tamas的好建议的一个脚注:map()后处理器可以提供{snippet:...}规范,不再需要单独的documentSelect()调用。请参阅:http://docs.marklogic.com/guide/search-dev/javascript#id_71243 – ehennum
如果我事先不知道我的单词'mark'的匹配是否会写入元素'author'在一些文件中。 – sjoerd999