クエリ文字列内の各単語が特定の要素に含まれていることを確認する検索を実行しようとしています。たとえば$query = "Sports With Stripes"
、特定の要素に 3 つの単語すべてが含まれている必要がある場合 (任意の順序であるため、句ではありません)。
検索を要素に制限するには、次の制約があります。
<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)
より良い方法はありますか?または、制約を my に追加する前に、手動で queryString を解析して個々の単語に分割する必要がありますsearch:search
か?