我正在尝试构建一个高级搜索选项(类似于Twitter 的)。用户可以在搜索查询中输入包含的单词、排除的单词、包含的单词、确切的短语等。
我正在使用 Searchkick 来执行此操作。特殊性Searckick 的正则表达式搜索。
以下是我正在做的寻找标语中包含“Facebook 或更少”字样的公司。
Company.search("Be", where: { short_desc: /.*(#{ar}).*/ })
这很好用。但是,我该如何否定这个搜索呢?
做类似的事情Company.search("Be", where: { short_desc: /.*(?!(#{ar})).*/ })
不会产生结果。另外,我可以将包含要包含的单词和要排除的单词的搜索结合起来吗?