我正在使用Drupal Apache Solr进行搜索。在这里我找到了一个synonyms.text文件,你可以在其中为你想要的单词手动包含同义词。
但我认为由于我的应用程序有大量数据,因此很难手动为每个单词包含同义词。
我想要实现的目标如下:
当用户搜索allu代替马铃薯时,我们将显示马铃薯作为第一个结果。
另一个例子:当用户搜索'raw apple'时,我们会将'apple'显示为第一条记录,因为'raw apple'是'apple'的同义词。
但问题是100K记录,每条记录有4-5个同义词。无法手动输入。
另一个问题是如果我想对特定记录的同义词进行更改,我将不得不手动完成,这也很耗时。
我想知道还有其他选项,以便我不需要手动输入同义词吗?
答案 0 :(得分:1)
IMO这接近搜索引擎优化。您也可能很难手动管理同义词。
关注印度电子零售网站正在采取哪些措施来容纳同义词。例如,电子零售商店通过重新命名某个产品 belly shoes 进行了调整,因为购物者往往会误读并拼错“芭蕾”。在用户真正搜索它们之前,他们不会预料到它。
所以记录所有返回少量结果的请求(以及其他不满意的客户)。维护索引中的同义词列表。在添加新产品时在关键字中包含这些同义词:添加产品x y z
时,会自动将所有同义词提取到x
,y
和z
并让您的数据输入伙计们选择他们。
'type':'synonym'
'terms':'ballet','belly'
'type':'synonym'
'terms':'potato','allu','aloo'
'type':'product'
'name':'home garden potato planter'
'keywords':'allu','aloo'
'type':'product'
'name':'aloo mutter fry mix'
'keywords':'potato','allu','cheese'
答案 1 :(得分:0)
我们可以在索引中维护一个同义词列表。并通过添加新产品在关键字中包含这些同义词。当添加新产品a b c时,它可以获取a,b和c的同义词。
'type':product' 'name':'monety carlo shirt for men' 'keywords':'montey carlo','shirt'
示例:Online Shopping Store已适应重命名某些产品并拼错名称。