gpt4 book ai didi

ruby-on-rails - Searchkick 和正则表达式

转载 作者:行者123 更新时间:2023-12-02 22:12:55 29 4
gpt4 key购买 nike

我正在尝试构建一个高级搜索选项(类似于 Twitter's )。用户可以在搜索查询中输入包含的词、排除的词、包含的词、确切的短语等。 Twitter Advanced Search

我正在使用 Searchkick 来执行此操作。特殊性Searckick's regexp搜索。

以下是我正在做的工作,以找到在其口号中包含“Facebook or less”字样的公司。

Company.search("Be", where: { short_desc:/.*(#{ar}).*/})

这很好用。但是,我将如何对该搜索进行否定?

做类似 Company.search("Be", where: { short_desc:/.*(?!(#{ar})).*/}) 的操作不会产生结果。另外,我可以结合包含要包含的词和要排除的词的搜索吗? Searchkick Example

最佳答案

也许这对你有帮助,试试这个:

Business.search("Be", where: { short_desc: {not: /.*(#{ar}).*/} })

然后检查结果。您可以将其与 ANDOR 运算符结合使用。使用 where 子句的任何地方。从 gem 自述文件中提取:

where: {
expires_at: {gt: Time.now}, # lt, gte, lte also available
orders_count: 1..10, # equivalent to {gte: 1, lte: 10}
aisle_id: [25, 30], # in
store_id: {not: 2}, # not
aisle_id: {not: [25, 30]}, # not in
user_ids: {all: [1, 3]}, # all elements in array
category: /frozen .+/, # regexp
or: [
[{in_stock: true}, {backordered: true}]
]
}

这是将它与查询结合起来的方法。

希望这对您有所帮助。

关于ruby-on-rails - Searchkick 和正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31824354/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com