高度な検索オプションを作成しようとしています ( Twitter のに似ています)。ユーザーは、含まれる単語、除外される単語、含まれる単語、正確なフレーズなどを検索クエリに入力できます。
私はこれを行うためにSearchkickを使用しています。特殊性Searckickの正規表現検索。
以下は、スローガンに「Facebook以下」という言葉が含まれている企業を見つけるために私が行っていることです。
Company.search("Be", where: { short_desc: /.*(#{ar}).*/ })
これはうまくいきます。しかし、この検索を否定するにはどうすればよいでしょうか。
みたいなことをしてCompany.search("Be", where: { short_desc: /.*(?!(#{ar})).*/ })
も結果が出ません。また、含める単語と除外する単語を含む検索を組み合わせることはできますか?