0

I want to do the opposite of this:

image_name = "blah"

Pipe.where("LOWER(name) like ?", "%#{image_name.downcase}%") (this would find a Pipe named 'blahzzz`)

What I want is the opposite, where I have a pipe named ah and given image_name = "blah", I want to be able to find that Pipe. How would I accomplish this?

4

1 回答 1

1

我认为您正在寻找的是像 lucene 这样的全文搜索索引的功能。搜索太阳黑子或轮胎,它们为 solr 和 elasticsearch 提供绑定。这些是最常见的全文服务器。

如果您想查找部分文本,有一个称为 n-gram 的功能可以让您找到匹配的部分或子字符串。我认为这将是更大规模的方式。

如果您只有一个地方要实现此功能并且您的数据库不是太大,您可以通过组合大量OR LIKE查询并提供输入的子字符串来模仿关系数据库中的行为。

于 2013-10-20T14:32:46.863 回答