网站上有一个搜索页面,因此网站访问者可以按城市或/和名称搜索内容。因此,城市是一个下拉过滤器,名称搜索是PartialMatchFilter文本字段。
PartialMatchFilter可正常搜索名称的一部分,例如Tim或Smith,然后Tim Glen Smith出现。我遇到的问题是当你接触蒂姆史密斯时,它说不匹配,因为我在中间错过了格伦。
当人们不知道此人的中间名时,PartialMatchFilter能否适用于此案例?最好的方法是怎样做的?感谢。
以下是代码。
$filters = array (
'YourName' => new PartialMatchFilter("YourName"),
'YourCity' => new ExactMatchMultiFilter("YourCity"),
}
答案 0 :(得分:0)
我认为您需要使用百分号替换搜索条件中的空格
例如“Tim Smith”成为“Tim%Smith”
然后部分匹配过滤器应该能够找到正确的记录。
答案 1 :(得分:0)
PartialMatchFilter相当于
WHERE FieldName LIKE '%{$your_input}%'
所以只会匹配字段中某处的确切字符串。
为了能够在字段中搜索多个字词,您最好使用FullTextFilter。