首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索:搜索API未返回正确的输出

搜索:搜索API未返回正确的输出
EN

Stack Overflow用户
提问于 2012-05-16 19:02:22
回答 1查看 100关注 0票数 0

我有以下xml文档,其中包含三个专利转让标记

代码语言:javascript
复制
<patent-assignments>
    <patent-assignment>
     <patent-assignors>
        <patent-assignor>
          <name>TSAI, YU-WEN</name>
        </patent-assignor>
      </patent-assignors>
      <patent-assignees>
        <patent-assignee>
          <name>FARADAY TECHNOLOGY CORP.</name>
        </patent-assignee>
      </patent-assignees>
    </patent-assignment>

    <patent-assignment>
     <patent-assignors>
        <patent-assignor>
          <name>APPLE</name>
        </patent-assignor>
      </patent-assignors>
      <patent-assignees>
        <patent-assignee>
          <name>GOOGLE INC</name>
        </patent-assignee>
      </patent-assignees>
    </patent-assignment>

    <patent-assignment>
     <patent-assignors>
        <patent-assignor>
          <name>GOOGLE INC</name>
        </patent-assignor>
      </patent-assignors>
      <patent-assignees>
        <patent-assignee>
          <name>FARADAY TECHNOLOGY CORP.</name>
        </patent-assignee>
      </patent-assignees>
    </patent-assignment>
</patent-assignments>

现在,当我运行以下搜索查询时:

代码语言:javascript
复制
 import module namespace search="http://marklogic.com/appservices/search" at 
"/Marklogic/appservices/search/search.xqy";

declare variable $options:=
    <options xmlns="http://marklogic.com/appservices/search">
    <transform-results apply="raw"/>
    </options>;

search:search("apple", $options, 1, 1)/search:result

我得到了完整的文档作为输出,但是匹配的单词"APPLE“只在xml的第二个专利转让标记中。我只想得到第二次专利转让作为输出,而不是完整的文档。如果我使用代码片段,那么它会显示文档和元素的名称,但是没有返回实际的输出。我希望将这个特定的专利转让标记作为找到匹配词的输出。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-17 00:17:24

Puneet,search:search函数正在做它被配置做的事情,从这个意义上说,响应是正确的。你只需要对你要求它做的事情做一个小小的改变。试试这个:

代码语言:javascript
复制
import module namespace search="http://marklogic.com/appservices/search" at 
  "/Marklogic/appservices/search/search.xqy";

declare variable $options:=
  <options xmlns="http://marklogic.com/appservices/search">
    <transform-results apply="raw"/>
    <searchable-expression>/patent-assignments/patent-assignment</searchable-expression>
  </options>;

search:search("apple", $options, 1, 1)/search:result

添加可搜索表达式元素后,我只返回与查询匹配的专利分配元素:

代码语言:javascript
复制
<search:result index="1" uri="/patent.xml" path="fn:doc(&quot;/patent.xml&quot;)/patent-assignments/patent-assignment[2]" score="43008" confidence="0.664889" fitness="0.664889" xmlns="" xmlns:search="http://marklogic.com/appservices/search">
  <patent-assignment>
    <patent-assignors>
      <patent-assignor>
        <name>APPLE</name>
      </patent-assignor>
    </patent-assignors>
    <patent-assignees>
      <patent-assignee>
        <name>GOOGLE INC</name>
      </patent-assignee>
    </patent-assignees>
  </patent-assignment>
</search:result>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10617171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档