【问题标题】:Solr's MoreLikeThis: how to use a float number in the mlt.fl?Solr 的 MoreLikeThis:如何在 mlt.fl 中使用浮点数?
【发布时间】:2012-07-06 02:50:39
【问题描述】:

我真的很想使用浮点字段来查找文档的 MoreLikeThis 文档。但是,据我所知,我只能将字符串字段用于 mlt.fl?我的意思是使用文档的唯一 id 来查找其 MoreLikeThis 结果,其中 mlt.fl 字段应为浮点数。有没有办法做到这一点?非常感谢!

【问题讨论】:

  • 你找到方法了吗?如果有,请分享一下。

标签: solr


【解决方案1】:

如果您希望myfield 字段接近10(例如),请根据:

&bf="dist(1, myfield, 0, 10, 0)^2"

来自http://wiki.apache.org/solr/FunctionQuery#Using_FunctionQuery


更新: 似乎 MoreLikeThisHandler 不支持您想要的增强功能。尝试从 MLT 处理程序中提取带有提升的 interesting terms,然后在像 Dismax 这样的常规搜索处理程序上使用它们。

【讨论】:

  • 我刚试过这个,但它实际上不起作用......我的意思是使用文档的唯一 id 来找到它的 MoreLikeThis 结果,其中 mlt.fl 字段应该是一个浮点数数字。让我在帖子中更新我的问题。
  • 研究了一下午后,我认为 MoreLikeThis 处理程序不支持 bf 参数...
  • 试试我的新建议,看看效果如何。我也使用了曼哈顿距离,因为我猜它只使用加法而不是欧几里得的平方和根。您还可以找到一些在 x 处最大的函数,并且随着距离 x 越远逐渐减小,不知道会变得多慢。
  • 似乎仍然不起作用...SimilarPriceRating 是我从 int 转换的字符串。假设评分为 1,则 SimilarPriceRating 为 "0 1 2" Title^0.5 Manu^5.0 cat^10.0 Title,Manu, cat1211SimilarPriceRatingtrue
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-05
相关资源
最近更新 更多