2016-01-12 36 views
2

如何使用其餘API在搜索中轉換結果;特別是片段部分?如何使用MarkLogic搜索在rest API中使用變換結果?

我目前正在看這個 document但我不明白該把它放在哪裏,因爲有很多方法來添加這樣的東西。

我想把整個文檔放入片段部分。

<transform-results apply="snippet"> 
    <per-match-tokens>30</per-match-tokens> 
    <max-matches>4</max-matches> 
    <max-snippet-chars>200</max-snippet-chars> 
    <preferred-matches/> 
</transform-results> 

是否有某種形式的例子,將會很有幫助。

+0

Geert的一個腳註很好的答案 - 作爲替代方案,您可以通過批量搜索獲取任意格式的文檔集。請參閱:http://docs.marklogic.com/guide/rest-dev/bulk#id_65903 – ehennum

回答

6

這裏默認snippeting,以及一些結果的一個很常見的例子爲不同snippeting規定:

<options xmlns="http://marklogic.com/appservices/search"> 

    <!-- The default snippeting behavior, average size snippets, if no results state was specified --> 
    <transform-results apply="snippet"> 
    <preferred-elements> 
     <element ns="" name="body"/> 
    </preferred-elements> 
    <max-matches>2</max-matches> 
    <max-snippet-chars>200</max-snippet-chars> 
    <per-match-tokens>20</per-match-tokens> 
    </transform-results> 

    <!-- Pass in operator-state or use results: to select one of these states --> 
    <operator name="results"> 

    <!-- results:compact, returns smallest snippets --> 
    <state name="compact"> 
     <transform-results apply="snippet"> 
     <preferred-elements> 
      <element ns="" name="body"/> 
     </preferred-elements> 
     <max-matches>1</max-matches> 
     <max-snippet-chars>100</max-snippet-chars> 
     <per-match-tokens>10</per-match-tokens> 
     </transform-results> 
    </state> 

    <!-- results:detailed, returns largest snippets --> 
    <state name="detailed"> 
     <transform-results apply="snippet"> 
     <preferred-elements> 
      <element ns="" name="body"/> 
     </preferred-elements> 
     <max-matches>3</max-matches> 
     <max-snippet-chars>300</max-snippet-chars> 
     <per-match-tokens>30</per-match-tokens> 
     </transform-results> 
    </state> 

    <!-- results:raw, returns full documents --> 
    <state name="raw"> 
     <transform-results apply="raw"/> 
    </state> 
    </operator> 

</options> 

您可以在操作狀態選擇輕鬆融入您的搜索字符串,只需添加類似results:detailed。您也可以在結構化查詢中使用operator-state

HTH!

相關問題