我正在尝试进行搜索以检查查询字符串中的每个单词是否包含在特定元素中。例如,如果 the$query = "Sports With Stripes"
特定元素必须包含所有三个单词(按任意顺序,因此它不是短语)。
要将搜索限制为元素,我有以下约束:
<constraint name="inelement">
<word>
<element ns="" name="myElement"/>
<term-option>case-insensitive</term-option>
</word>
</constraint>
这似乎没问题,但是当涉及到search:search
. 我第一次尝试这个:
search:search('inelement:spots with stripes', $options, 1, 25)
这不起作用,因为它只限于"spots"
我的元素。
然后我尝试了以下方法,它确实得到了我需要的结果,但我想知道这是否是实现这一目标的唯一方法,或者是否有另一种方法,例如在我的搜索词之间使用运算符。
search:search('inelement:spots inelement:with inelement:stripes', $options, 1, 25)
有没有更好的办法?或者在将约束添加到我的之前,我是否必须手动解析我的 queryString 以将它们分成单独的单词search:search
?