【发布时间】:2023-03-22 11:30:01
【问题描述】:
我正在尝试为我的搜索做一个小型分析插件。我想从所有已完成的搜索中分离出有用的搜索词。
例如:
搜索:“我在哪里注册魅力课”
搜索词:“注册”、“魅力类”
我知道如果程序没有我们整个数据的上下文,这是不可能的。但是有什么东西可以用来实现部分结果吗?
【问题讨论】:
标签: ruby-on-rails ruby search web
我正在尝试为我的搜索做一个小型分析插件。我想从所有已完成的搜索中分离出有用的搜索词。
例如:
搜索:“我在哪里注册魅力课”
搜索词:“注册”、“魅力类”
我知道如果程序没有我们整个数据的上下文,这是不可能的。但是有什么东西可以用来实现部分结果吗?
【问题讨论】:
标签: ruby-on-rails ruby search web
你可以做的是将字符串分解成字符串数组
keywords = "where do i register for charms class".split(" ")
#=> ["where", "do", "i", "register", "for", "charms", "class"]
然后你可以遍历关键字数组。这不是一个完美的解决方案,但它仍然可以帮助您。
【讨论】:
您可以将所有关键字放入一个数组中:
keywords = ['some keyword', 'another keyword']
string = 'My string with some keyword'
keywords.none?{|keyword| string.include?(keyword)} #=> true/false
【讨论】:
我对此的看法是制定规则以消除无用的词。
比如去掉冠词、动词、代词等无用的东西。
您可以先标记字符串,然后执行修剪。
之后,您可以创建规则以进一步提取重要标记。
供参考:
【讨论】: