首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Endeca Experience Manager查询

Endeca Experience Manager查询
EN

Stack Overflow用户
提问于 2014-06-02 13:10:23
回答 2查看 979关注 0票数 0

我正在使用Endeca体验管理器。我需要过滤Endeca查询中维度的结果。

我需要在Endeca查询中对维度应用两个OR操作。

给出了一个示例查询来理解我的需求。

http://www.example.com/endeca_jspref/controller.jsp?sid=1463DDBF22F0&enePort=16000&eneHost=hostname&N=0&Ntk=brand.name|product.color&Ntt=canon+kodak|red+blue&Ntx=mode+matchany

针对维度brand.name搜索佳能和柯达,针对维度product.color搜索红色和蓝色。我的要求是应用与这四个条件中的任何一个匹配的OR条件,并给出结果。

我需要OR条件查询。

敬请指教!

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-06-02 19:48:29

您需要在Advanced Development Guide中通读Record Filters

如果您尝试在属性上使用记录筛选器,则需要在Developer Studio中为该属性显式启用它,而您的维度将自动具有应用记录筛选器的能力。当您有明确的值可供筛选时,这将有所帮助,例如brand.name

然后,您的查询应该如下所示:

代码语言:javascript
复制
Nr=AND(OR(brand.name:kodak,brand.name:canon),prod.color:red)

首先在JSP参考应用程序中尝试此功能,以确保所有功能都正常工作。

票数 0
EN

Stack Overflow用户

发布于 2016-10-17 00:00:01

这将需要一些自定义编码。

在自定义磁带盒中添加DimensionSelectorEditor和BoostBuryEditor,其中DimensionSelectorEditor驱动BoostBuryEditor中的值。要避免创建自定义编辑器,只需使用编辑器的Boost部分来获取尺寸值。

下面的代码显示了模板中的编辑器。

代码语言:javascript
复制
<editors:DimensionSelectorEditor
    propertyName="dimensionName" idProperty="dimensionId" label="Dimension Name"
    enabled="true" />
<editors:BoostBuryEditor propertyName="dimensionValues"
    boostProperty="featuredOneBoost" buryProperty="featuredOneBury"
    label="Filter By Boost - First Dimension Choice"
    dimensionIdProperty="dimensionId" enabled="true" />

在模板的支持java处理程序代码中,提取这些值,并将它们作为预处理方法中的OR添加到当前导航状态的现有记录过滤器中。

关键示例代码如下:

代码语言:javascript
复制
getNavigationState().getUrlFilterState().getRecordFilters().add(FilterUtils.or(new PropertyConstraint(dimensionName, dimensionValue)));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23987669

复制
相关文章

相似问题

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