Endeca Search Mode
MathchAll:
当用户提供的search term 在 search key里都出现时候,才会得到该结果集,比如搜索Nike Shoes, Search key 是displayName.那么 不管是 displayName是包含 Nike Shoes,还是包含 Shoes Nike, 还是包含 Nike-Shoes 或者 NikeShoes 或者 “Nike Shoes”等,都会取出来。但是如果某一个产品的displayName只包含Nike,那么该记录不会取出来。
MatchPartial:
显而易见,这是只要你的字段某一部分包含,都被认为有效的record.比如 你搜Nike NB Shoes, 那么只要 displayName包含Nike Shoes或者 NB Shoes,都被视作有效的record.
那么到底根据term的哪部分来匹配,是需要依据的:
进入search interface ,click the options button, 将会给你提供两个选项:
1 Match At Least:
指定最小的数量,比如 你指定一个,那么就至少匹配一个,如果为2 ,最少就要2个部分。
2 Omit At Most:
指定用户查询最多可以忽略的search term的数量,如果设置为0,代表任何数量的terms 都可以被忽略。
MatchPartial: 肯定包含所有的MatchAll ,然后抱哈部分的一些额外的结果。
MatchAny:
至少匹配一个用户的search term,意思就是说我可以全匹配,也可以之匹配1个 或者2个,然后满足条件的都视作有效的Record
至少包括已经产生的MatchAll and MatchPartial所得到结果没然后额外可能还有一些其他的。
MatchAllAny:
首先根据MatchAll 去匹配, 如果匹配到了,查询打断然后返回,MatchAny不会执行,如果没有匹配,则继续根据MatchAny去查询匹配
MatchAllPartial:
同理,根据MatchAll 去匹配, 如果匹配到了,查询打断然后返回,MatchPartial不会执行,否则根据MatchPartial去匹配,然后返回查询结果。
MatchPartialMax:
返回用户的search term的最大子集
MatchBoolean:使用boolean 查询匹配