【问题标题】:Endeca search query on multiple fieldsEndeca 多字段搜索查询
【发布时间】:2013-11-27 15:58:51
【问题描述】:

如何在多个字段的组合上创建 Endeca 查询 [就像 sql 查询中的 where 子句一样]。假设我们有三个索引的字段是 -

  1. empId
  2. 员工姓名
  3. 员工性别

现在,我需要一个类似“where empName like 's%' AND empGender=male”的查询

谢谢。

【问题讨论】:

    标签: endeca


    【解决方案1】:

    首先,

    Advanced Development Guide 中结帐Record Filters

    如果您尝试在属性上使用Record Filter,则需要在 Developer Studio 中为该属性显式启用它,而您的Dimensions 将自动能够应用Record Filter。当您有明确的值要过滤时,这将有所帮助,例如 empGender

    您的Record Filter 可以如下所示:

    Nr=AND(empGender:male)
    

    您可以进一步使用 Ntk 参数指定要搜索的字段,因此假设您的 empName 字段已启用通配符搜索(在 Developer Studio 中配置),搜索此字段将如下所示:

    Ntk=empName&Ntt=s*
    

    因此,假设您的属性已正确配置,您上面的示例可能最终如下所示:

    Nr=AND(empGender:male)&Ntk=empName&Ntt=s*
    

    为了更进一步,您可以同时指定Search Filters(即Ntk + Ntt 参数)。我没有为通配符尝试过这个,所以你需要自己确认,但是结合Search Filters你用|分隔它们

    Ntk=empName|empId&Ntt=s*|1234*
    

    我建议您在参考应用程序中手动构建查询以确认您获得预期结果,然后开始在您的应用程序中编写代码。

    【讨论】:

    • 谢谢。它的工作。实际上,我们有一个包含 20 个字段的搜索表单,用户可以搜索许多组合(例如数据范围和 emp 状态)。为此,我正在准备一个服务类,它将根据用户选择生成动态查询。
    • 另外,我找不到执行以下查询的方法 - “其中 empId 在 ('1', '2', '3')”。有什么想法吗?
    • 找到了一种方法,但它不能与其他组合一起使用 - &Ntk=empId&Ntt=1+2+3&Ntx=mode+matchany (WORKING); &Ntk=empStatus|empId&Ntt=0|1+2+3&Ntx=mode+matchany(不工作)
    • 从技术上讲,这是一个不同的问题。您需要使用Record Filter (Nr) 而不是Search Filter。所以你的查询应该是这样的:Nr=OR(empId:1,empId:2,empId:3)。假设您为 empId 属性(或者它是一个维度)启用了Record Filters
    【解决方案2】:

    radimbe,这个用例的记录过滤器的问题是它们需要精确。这意味着您不会得到拼写更正、词库扩展、不区分大小写或词干提取。用户不太可能输入这样的精确信息。

    Saraubh,您可以进行布尔搜索来进行 OR 文本搜索查询。您还可以使用Endeca Query Language 指定一组复杂的布尔逻辑,该逻辑超越了布尔搜索,并包含拼写更正、词干提取等。

    但总的来说,我认为对于这样的应用程序,您应该远离同时搜索特定的单个字段,并利用维度的分面功能来指导用户。此外,按重要性顺序同时搜索多个字段的搜索框确实是为此类应用程序简化用户界面的方法。

    【讨论】:

    • 您是对的,尽管提供的解决方案回答了特定的用例。当谈到原始问题中列出的数据时,使用 Endeca 提供的拼写纠正、词干提取或任何其他功能的可能性非常有限。结合通配符查询无法使用这些功能这一事实,如果您需要使用 Endeca,过滤器是解决此问题的最佳方法。例如,搜索零件或员工编号之类的内容通常是“开始于”类型的查询,因此您必须使用通配符。感谢您的意见。
    猜你喜欢
    • 2015-03-08
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2023-03-11
    • 2022-01-09
    • 2020-04-26
    • 2020-06-01
    相关资源
    最近更新 更多