2015-07-03 16 views
1

我花了大部分时间尝试将方面添加到基于marklogic slush template的示例应用程序。在slog marklogic示例中添加一个方面

它基于元素范围索引在eyeColor上有一个方面。

样本数据可以发现here

我的目标是添加关于性别一个刻面,这也是在本例中JSON数据的元件。所以我在localname gender上添加了一个元素范围索引。相同的整理端点。

然后我重建索引

现在我试着去理解,如果我需要在前端应用程序的其他变化方面的应用轮番上涨之前。

从后端开始,我尝试了解如何使用控制台上的示例xquery查看搜索调用中可用的方面(或约束)。似乎我找不到正确的搜索:搜索功能从控制台检索facet信息,甚至不是eyeColor上的现有信息。

如果我知道我想要什么,我可以在选项参数中传递一个约束,但似乎前端不知道search-api返回的具体构面还是我错了?

在控制台我想:

xquery version "1.0-ml"; 
import module namespace search = "http://marklogic.com/appservices/search" 
    at "/MarkLogic/appservices/search/search.xqy"; 

search:search(" ", 
    <options xmlns="http://marklogic.com/appservices/search"> 
     <return-results>true</return-results> 
     <return-facets>true</return-facets> 
     <constraint name="eyeColor"> 
    <range collation="http://marklogic.com/collation/codepoint/" type="xs:string"> 
    </range> 
    </constraint> 
    </options>) 

但不包含小结果...

是的,我读的大部分就在这里ML方面存在的问题,在SO,但没有运气依然..

任何人都可以在这里设置正确的轨道吗?

雨果

+0

OK就休息终点可以看我的眼睛颜色约束现在的http:// ML8基毫升1:8050/v1/config/query/all –

回答

1

好,我知道了...... 您必须将选项添加到该文件夹​​的应用程序根/ REST的API /配置/选项REST API选项/ all.xml

添加一个选项(性别)像

<search:constraint name="gender"> 
    <search:range type="xs:string" facet="true" collation="http://marklogic.com/collation/codepoint"> 
     <search:facet-option>limit=5</search:facet-option> 
     <search:facet-option>frequency-order</search:facet-option> 
     <search:facet-option>descending</search:facet-option> 
     <search:json-property>gender</search:json-property> 
    </search:range> 
    </search:constraint> 

部署再次使用乐声,rmeber还需要一系列指数...

+0

是的,在范围索引旁边,需要添加facet = true的搜索约束。把索引放在ml-config.xml和bootstrap中。将搜索约束放在all.xml中,并部署其余(或模块)。重建索引是没有必要的。用户界面会自动检测多余的方面。 – grtjn

相关问题