是否可以形成一个Endeca查询来检索必须以某些字母开头的字段?比如说第一封信的所有用户都是A
?我检查了Range过滤器,但它只支持数字字段以及Wild Card搜索。但到目前为止,没有什么能奏效。
答案 0 :(得分:2)
创建维度是解决问题的一种方法,如Paul Lemke所述。由于性能开销以及不相关的记录,不存在选项。 但我们使用其他几种替代方案解决了这个问题。
有一个问题,像'A'这样的字母通常是Endeca中的停用词。我们可以帮你解决这个问题。
答案 1 :(得分:1)
Endeca at it的当前版本(6.1)没有一个搜索过滤器,其功能类似于其他编程语言中的“startswith”功能。
我有两个选项可能会让你接近:
如果你真的只是寻找第一个字母,你可以为字母表的每个字母(A,B,C ......)设置一个Dimension值。然后,您可以优化每个字母,只查看以字母A,B,C等开头的值。唯一的缺点是您只能根据您设置的维度值进行过滤。因此,如果添加“A”,则无法过滤以“AB”开头的任何内容。你可以下线并添加“AB”,“BA,”CA“等等,但这样会很快变得笨拙。
如果您想要更接近“startswith”功能的东西,唯一的另一个选择是使用通配符搜索。基本上你会做这样的属性搜索:N=0&Ntk=Username&Ntt=ab*
使用通配符搜索的技巧是它将在该属性中的多个单词中执行此操作。所以假设你有这些值的数据集:
搜索sm*
实际上会返回所有3个结果,因为“sm”是他们的姓氏。即使是带有破折号的人也会像Endeca认为的那样回归,这是一个单独的词。 (虽然可能会关闭它,但不确定)。
所以基本上归结为:在一个属性中粘贴一个单词,设置该属性以允许通配符搜索,然后对该属性执行“blah *”,你应该得到你正在寻找的结果。
答案 2 :(得分:0)
您是否尝试过第一个相关等级模块,该模块应根据与该字段开头的接近度进行排名?
这听起来与您正在寻找的相似,并且与外卡一起可能会产生您想要的结果。