问题标签 [morelikethis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
615 浏览

solr - SOLR 4.4 的 MLT 组件中的 EarlyTerminatingCollectorException

我向 SOLR 发送一个查询,它只返回一个文档。这是一个“id:some_doc_id”搜索。以下是响应中显示的参数:

响应键包含我期望的文档,但我也收到一个错误,这似乎发生在 MLT 组件中。这是响应中提供的堆栈跟踪:

在更新到 SOLR 4.4 之前,我的代码运行良好。任何提示发生了什么以及如何解决它?

0 投票
1 回答
241 浏览

asp.net - Lucene.Net MoreLikeThis 在查询中返回 0 个有趣的术语并且没有子句

我正在尝试实现 Lucene.Net MoreLikeThis 查询,但它似乎无法在文档中找到任何有趣的内容来搜索索引。

在我的场景中,用户点击了搜索结果网页上的“More Like This”链接,这会在查询字符串上传递文档 ID。我的 Lucene.Net 代码如下所示:

执行后;terms 变量是一个空数组, doc 变量包含文档,而 searchQuery 没有子句。当我使用查询运行搜索时,它不返回任何文档。

我的结论是我能够从阅读器那里获取文档,但是 MoreLikeThis 对象无法找到任何东西来构建查询。

知道为什么吗?

0 投票
1 回答
3614 浏览

lucene - 像这样模糊和更像这样的区别?

Lucene 的MoreLikeThis (mlt) 和FuzzyQuery (flt) 有什么区别?

我正在通过 Elasticsearch (ES) 评估这两种查询类型,我发现它们在概念上非常相似:

  • mlt:将现有文档字段与其他文档的字段进行比较
  • flt: 将字符串与其他文档的字段进行比较

但是,flt性能似乎比mlt查询慢一个数量级。

我正在使用最新的 ES,而后者又使用 Lucene 4.5。


像这样的模糊文档中:

模糊化作为字符串提供的所有术语,然后选择最好的 n 个区分术语。实际上,这混合了 FuzzyQuery 和 MoreLikeThis 的行为,但特别考虑了模糊评分因素。这对于用户可能在多个字段中提供详细信息并且不了解布尔查询语法并且还需要一定程度的模糊匹配和快速查询的查询通常会产生良好的结果。

对于每个源术语,模糊变体都保存在没有坐标因子的 BooleanQuery 中(因为我们不是在任何一个文档中寻找多个变体的匹配项)。此外,一个专门的 TermQuery 用于变体并且不使用该变体术语的 IDF,因为这将有利于更罕见的术语,例如拼写错误。相反,所有变体都使用相同的 IDF 排名(用于源查询词的排名),这被考虑到变体的提升中。如果索引中不存在源查询词,则使用变体的平均 IDF。

0 投票
1 回答
102 浏览

elasticsearch - ElasticSearch more_like_this 不限于标题归档

以下代码将所有结果限制为“线程”、“_id”,这很棒。

我想做的是使用 more_like_this 函数而不是匹配。以下代码有效,但从“post”、“_id”以及“thread”、“_id”返回结果。

我需要做什么才能将结果限制为“线程”、“_id”。

这是我的映射:

0 投票
2 回答
107 浏览

elasticsearch - ElasticSearch如何使用boost

此查询效果很好,但返回的结果太多。我想添加 boost 功能,但我不知道正确的语法。

0 投票
2 回答
255 浏览

solr - 为什么在 SOLR 中出现 EarlyTerminatingCollectorException?

我正在尝试在 SOLR 中执行更多类似的搜索。对于预期会产生一些 MLT 结果的查询,它会引发错误。如果没有匹配 MLT,则不会观察到错误。我正在尝试以下查询。

10.20.30.40:8080/solr/collection1/select?qt=mlt&q=title:tablet&defType=edismax&mlt=true&mlt.fl=title&fl=id,score

结果是

MLT 结果中出现错误 EarlyTerminatingCollectorException 的原因是什么?

我的 MLT 请求处理程序如下所示

0 投票
2 回答
334 浏览

search - 对来自 MLT 处理程序的 MLT 结果进行分组

我需要找到与文档相似的文档,并根据字段说类别对结果进行分组。

我可以找到 MLT 处理程序,并且可以找到分组功能。

但我找不到将分组应用于 MLT 处理程序给出的响应的方法。有什么办法可以做到这一点?

只是将分组变量添加到 MLT 处理程序并没有帮助

0 投票
2 回答
3103 浏览

solr - Solr MoreLikeThis 提升查询字段

我正在试验 Solr 的 MoreLikeThis 功能。

我的模式处理文章,我正在寻找三个字段中文章之间的相似之处:文章标题、文章文本和主题。

以下查询运行良好:

但我想尝试提升不同的查询字段——例如,更多地重视文章标题中的相似性。

文档 ( http://wiki.apache.org/solr/MoreLikeThis ) 建议这可以通过包含 mlt.qf 属性来实现,并进行一些提升。

我对此类查询的尝试如下:

但是,提升似乎没有影响 - 无论我提供什么提升,建议都保持不变(除了上述查询之外,我会大力支持标题中的相似性,但这似乎没有发生)

我在文档中找不到任何以这种方式使用 MoreLikeThis 的示例,这让我相信我有问题。

有没有人设法实现这样的目标?

0 投票
1 回答
430 浏览

solr - SOLR中MoreLikeThisHandler和搜索MoreLikeThisComponent的区别?

MoreLikeThisHandler 和 SOLR 中搜索 MoreLikeThisComponent 有什么区别吗?

之间的区别

http://mycompany.com/solr/collection1/select?qt=mlt&q=promotion_pkey:1&defType=edismax&mlt=true&mlt.fl=promotion_message&fl=promotion_message,score

http://mycompany.com/solr/collection1/mlt?qt=mlt&q=promotion_pkey:1&mlt=true&mlt.fl=promotion_message&fl=promotion_message,score

0 投票
0 回答
348 浏览

solr - 如何通过 solr 中的 MoreLikeThis 搜索获取完整文档?

我对 solr 中的 MoreLikeThis 搜索很陌生,但我发现缺少一个选项。wiki 页面和 google(和堆栈溢出)搜索没有说明 MLT 搜索返回值的文档格式。我的目标是在返回的文档中获取全部或至少一个指定的字段集,但它似乎没有影响哪些字段包含在类似文档中。当然,可以从 moreLikeThis 结果中对每个文档进行查询以获取这些字段,但我不喜欢进行多个查询的想法,其中一个就足够了。

如果有人知道影响文档结果格式的方法,我将不胜感激。

谢谢。