【问题标题】:Include synonyms in solr without using synonyms.txt在 solr 中包含同义词而不使用 synonyms.txt
【发布时间】:2012-07-12 02:37:40
【问题描述】:

我正在使用 Drupal Apache Solr 进行搜索。在此我找到了一个 synonyms.text 文件,您可以在其中手动包含您想要的单词的同义词。

但我认为,由于我的应用程序具有大量数据,因此很难手动为每个单词添加同义词。

我想要实现的搜索结果如下:

当用户搜索allu代替土豆时,我们将显示土豆作为第一个结果。

另一个例子:当用户搜索“raw apple”时,我们会将“apple”显示为第一条记录,因为“raw apple”是“apple”的同义词。

但问题是 10 万条记录,每条记录有 4-5 个同义词。无法手动输入。

另一个问题是,如果我想更改特定记录的同义词,我将不得不手动进行,这也很耗时。

我想知道有没有其他选项可以让我不需要手动输入同义词?

【问题讨论】:

  • 为什么不直接从数据库或 10 万行所在的任何位置以编程方式生成 synonyms.txt 文件?
  • @Ansari 问题是如果我必须更新 30 条记录,我将如何更新 synonyms.txt 中的那些?
  • 您可以再次重新生成文件,这需要几秒钟。我想更大的问题是每次发生时都要重新索引。

标签: drupal solr drupal-6


【解决方案1】:

IMO 这接近于搜索引擎优化。此外,您可能很难手动管理同义词。

关注印度电子零售网站为适应同义词所做的工作。例如,电子零售店通过重命名某个产品 belly shoes 进行了调整,因为购物者往往会误读和拼写“ballet”。在用户真正搜索他们之前,他们不会预料到这一点。

所以记录所有返回很少结果的请求(否则会使客户不满意)。在索引中维护同义词列表。并在添加新产品时将这些同义词包含在关键字中:添加产品时x y z,自动获取xyz 的所有同义词,并让您的数据输入人员从中选择。

'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'

【讨论】:

    【解决方案2】:

    我们可以在索引中维护一个同义词列表。并通过添加新产品将这些同义词包含在关键字中。添加新产品 a b c 时,它可以获取 a、b 和 c 的同义词。

    '类型':产品' 'name' :'money carlo 男式衬衫' “关键词”:“蒙特卡罗”、“衬衫”

    示例:Online Shopping Store 已适应重命名某些产品和拼写错误的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多