gpt4 book ai didi

ruby-on-rails - Searchkick Elasticsearch ,条件类似于行为

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

通过将Rails 4.2与searchkick和elasticsearch结合使用,我们可以在某些条件下找到用户:

where_data = {
region: "North America"
}
results = Person.search( query, where: where_data )

这可以按预期工作,并且在 Person.region为“North America”时找到了一个人。

但是在其他情况下,此人也有多个地区,包括北美:“非洲;北美”。在这些情况下,找不到该人。

如何自定义where数据或调用,以便其在SQL中的作用类似于 LIKE,并找到完整字符串的任何匹配实例?

最佳答案

要搜索区域包含“北美”的人员,请首先尝试:

Person.search "North America", fields: [:region]

如果那不起作用,请尝试将其添加到Person Model中:
class Person < ActiveRecord::Base
searchkick word_middle: [:region]

然后(重新索引之后)
Person.search "North America", fields: [:region], match: :word_middle

如果仍然无法解决问题,建议您在ES中将 :region设置为集合(请让我知道您是否有兴趣,我在使用searchkick之前就已经完成了此操作,但是不记得确切的代码了。我可以将其提取并发布以后给你)

关于ruby-on-rails - Searchkick Elasticsearch ,条件类似于行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35231640/

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