问题标签 [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 回答
1457 浏览

search - Solr 搜索、数值匹配和相关性

我将从用例开始。假设我正在搜索价格为 500 美元的产品。我不一定介意它的成本是否略高或略低,但我希望该价格范围内的产品获得更高的整体相关性得分。

在 Solr 中有什么方法可以做到这一点吗?我在网站上看到的相关性/MoreLikeThis 文档似乎没有任何偏离给定数字的概念。

相关问题。我希望能够修改我的 solr 搜索权重以实现这两个查询:

“查找价格相似的相机”和“查找功能相似的相机”

看起来更像这个处理程序,用于计算相关性的算法看起来不像向程序员公开任何控制旋钮。例如,对于价格相近的相机,我想修改相关性分数,以便我们增加相同价格范围内项目的相关性,但仍保持功能的权重。对于类似的功能,这将是相反的。IE“找到类似功能的相机,但如果一个售价四万美元,它比我选择的价格的类似相机更不相关”(它应该有更多功能,但也许他们只是在镜头盖上放了镀铬微调器)。

0 投票
3 回答
1712 浏览

c# - 如何检测是否已经有类似的文档存储在 Lucene 索引中

我需要在我的数据库中排除重复项。问题是重复的文档不被视为完全匹配,而是相似的文档。为此,我决定使用FuzzyQuery如下:

这个想法是将最小相似度设置为 0.8(我认为这已经足够高了),因此只会找到相似的文档,不包括那些不够相似的文档。

为了测试这段代码,我决定看看它是否找到了已经存在的文档。为变量queryText分配了一个存储在索引中的值。上面的代码什么也没找到,换句话说,它甚至没有检测到完全匹配。

索引是由以下代码构建的:

我遵循了下面的建议,结果是: TermQuery 不返回任何结果。查询构造

返回具有完全匹配的文档和具有相似内容的其他几个文档的最高分数的几个结果。

0 投票
2 回答
500 浏览

search - Solr 用于不断更新索引

我有一个包含 150,000 篇新闻文章的新闻网站。每天大约有 250 篇新文章以 5-15 分钟的间隔添加到数据库中。我知道 Solr 针对数百万条记录进行了优化,我的 150K 不会成为问题。但我担心频繁更新会成为问题,因为每次更新都会使缓存失效。在我的开发服务器中,页面的冷加载需要 5-7 秒才能加载(因为每个页面都运行一些 MLT 查询)。

如果我将索引分成两部分 - 存档索引和最新索引,它会有所帮助。归档索引将每天更新一次。

任何人都可以建议任何方法来优化我的安装以不断更新索引吗?

谢谢

0 投票
2 回答
419 浏览

zend-framework - Zend Lucene

我正在为我的搜索引擎使用 Zend_Search_Lucene。遗憾的是,它缺少可以在索引中找到类似文档的 MorelikeThis 方法的实现。

有没有人遇到过这个功能的一个不错的 Zend 端口?

我找到了一个drupal 模块,但不知道它是否可以与 Zend 一起使用而无需进行一些严重的黑客攻击。

0 投票
1 回答
122 浏览

search - 如何告诉 lucene 搜索完整的文档?

我正在运行 lucene,我通过 Solr 查询它。建立了索引,我有一个包含很多单词的文档,现在我如何告诉 lucene 它必须搜索我提供的文档的索引,查询语法是什么?

0 投票
1 回答
630 浏览

solr - 在添加之前找到类似的文档

  1. 用户填写包含日期、时间、标题和描述的多字段表单(文档)。
  2. 检查是否在保存文档之前将类似的文档存储在 Solr 中
  3. 用户可以选择,是否保存此文档。

如何在 Solr 中实现“查找相似文档”

在 Lucene 中:FuzzyLikeThisQuery, MoreLikeThis?

但是在 Solr 中?

PS我使用django-hastack

0 投票
2 回答
1464 浏览

solr - 是否可以让 SOLR MoreLikeThis 对模型和匹配项使用不同的字段?

假设我有两个字段 A 和 B 的文档。

我想使用 SOLR 的 MoreLikeThis,但有一个转折:我最感兴趣的是提升 A 字段类似于我的模型文档的 B 字段的文档。(即从模型 B 字段中提取 MLT 的“有趣术语”,但仅根据 A 字段收集 MLT 结果。)

我看不到使用 mlt.fl 字段或 mlt.qf 提升在单个查询中实现此效果的方法。(似乎 mlt.fl 指定了用于发现“有趣术语”和匹配这些术语的字段。)我错过了一些选项吗?

还是我必须自己提取“有趣的术语”并交换“字段:术语”的详细信息?

(同样的其他想法也受到赞赏。)

0 投票
1 回答
1462 浏览

solr - 在 Solr 中限制 MoreLikeThis 的输出

我正在尝试使用 MoreLikeThis 来获取所有类似的文档,但不是具有特定内容类型的文档。

因此,第一个查询需要找到我想要获得“更多类似”的一个文档 - 第二个查询需要将相似文档限制为不是 pdf (-contenttype:pdf)

有谁知道这是否可能?

谢谢

0 投票
1 回答
257 浏览

solr - 关于处理程序解析和转义的 Solr 问题

关于 Solr 的使用,我有几个问题:

  1. 某些请求可以发送到不同的路径(处理程序?)。例如,MoreLikeThis 组件可以发送到 /select 或 /mlt。

我在 Solr wiki 中找到了这两个链接:

http://localhost:8983/solr/mlt?q=id:UTF8TEST&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&mlt.match.include=false

http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&fl=id,score

这种设置背后的原因是什么?如果我决定将我的 MoreLikeThis 请求发送到 /mlt,这是否意味着我不能使用任何 /select 特定调用 - 如果甚至有这样的事情 - 例如方面 - 吗?如果没有,是否可以配置 /select 路径来处理从拼写检查到集群的所有请求?

  1. 如何在 Lucene 中转义双字符特殊字符串(&&、||)?

http://lucene.apache.org/java/2_9_1/queryparsersyntax.html#Escaping+Special+Characters

我是只转义第一个字符 (\&&) 还是同时转义?我什么时候需要逃离他们?我在 Solr 包中提供的示例服务器上执行的几个测试没有结果:

http://localhost:8983/solr/select/?q=manu:%22apple%20%26%26%22%20AND%20manu:%22computer%22

仍然返回结果,

0 投票
2 回答
1980 浏览

solr - Sunspot / Solr / Lucene : 查找类似文章

假设我们有一个由 sunspot/solr/lucene(或任何其他搜索引擎)索引的文章列表。

如何用于查找与给定文章相似的文章?

是否应该使用恢复工具来完成,例如: http ://www.wordsfinder.com/api_Keyword_Extractor.php 或http://developer.yahoo.com/yql/consolehttp://www.alchemyapi的 termextract .com/api/demo.html ?