问题标签 [dismax]

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 回答
222 浏览

solr - 我的 multiValued 字段没有匹配

使用 edismax defType 和 multiValued 字段时,我没有得到匹配。

和 schema.xml 定义。

当我检查文档时,会返回一个完全匹配的文档。

但是当我执行以下查询时,numFound 为 0。

multiValued="false" 字段不会发生这种情况。

有任何想法吗?

0 投票
1 回答
801 浏览

solr - Solr 我用 dismax 得到结果,但没有用 edismax

当我在我的 solr 3.6.2 debian 服务器上使用 dismax 和 edismax 执行两次相同的查询时,我得到了 dismax 4 结果,如预期的那样,但 edismax 0 结果。

下面你会发现 3 个在同一索引上运行的示例。该索引包含一条记录“label:M025 Some-Example Record”

  1. Edismax 与:q=M025 没有结果。
  2. Dismax 与:q=M025 找到 4 个项目。
  3. Edismax 与:q=找到 1 个项目的示例。

为什么 EDISMAX 没有找到“M025”而是“Example”?

Solr 架构

示例 EDISMAX

示例 DISMAX

带有名称的 EDISMAX 示例

0 投票
2 回答
1052 浏览

solr - Solr dismax 行为 - 标点符号和空格分割

我有一个 Solr 4.7.0 实例,索引中有 200 000 个文档(文件系统上每个文件一个文档),供多个用户使用。文档由关键字标识,这些关键字被索引并存储在一个名为“signature_1”的字段中。在索引期间,我删除了所有用空格替换的标点符号(感谢 ScriptUpdateProcessor),因此我的关键字在索引和字段 signature_1(字段类型签名)的存储部分中都用空格分隔。

我希望在查询期间有相同的行为:如果有人搜索

美国广播公司

我希望 Solr 进行以下搜索(使用 OR 运算符,dismax):

美国广播公司

所以基本上,我只是想让 Solr 在文档的关键字之间搜索,标点符号被删除。

上面的例子运行良好,但在某些情况下它不是这样运行的。查询

公元前

Dismax 将查询拆分为

(+(DisjunctionMaxQuery((signature_1:a)) DisjunctionMaxQuery((signature_1:"b c"))) ())/no_coord

这弄乱了我的结果的相关性(即顺序)。我尝试使用 autoGeneratePhraseQueries="True" 但没有效果。

所以我希望 Dismax 总是在空格和标点符号上分开,或者永远不要这样做(结果是一样的)。知道如何做到这一点(无需创建我的 Java Dismax 类)吗?

以下帖子与我的问题有关:

0 投票
0 回答
2329 浏览

search - Elasticsearch:Dismax 提升似乎不起作用

我的网站上有一个搜索页面,我正在搜索名称字段,我需要返回通配符和模糊匹配以及完全匹配;但是,完全匹配应该在页面上显示得更高,所以我试图确保名称是完全匹配、通配符匹配或模糊匹配,精确匹配提升最高,模糊匹配提升最低. 根据建议,我正在使用 dis_max 查询,因此对于每个名称字段,我都有一个单独的 dis_max。为简单起见,我在下面的示例查询中只包含了一个 dis_max,但如果我也在搜索 first_name,我将在“first_name”的“must”中添加第二个 dis_max。

问题是提升似乎不起作用。当我删除 dis_max 中的后两个查询并且只对“Cotter”进行短语匹配时,我得到的结果是 last_name “Cotter”。但是,当我使用所有三个查询时,我得到的第一个结果是“Carter”和“Carder”......模糊匹配的排名高于(或等于)精确匹配,即使模糊匹配的提升是0.001 和精确匹配的提升是 10000。我也分别尝试了值 0.1 和 1,但得到了相同的结果......似乎我做的提升有多大或多小并不重要。

0 投票
1 回答
150 浏览

php - php solr 中缺少 SolrDisMaxQuery?

我刚刚开始使用 Solr,我正在使用以下方法在 OSX 上对其进行测试:

Apache 2.2.26 PHP 5.5.20 from here 这个版本的 PHP 带有 solr 扩展版本 0.9.11。

在这里搜索文档,我发现它有 SolrDisMaxQuery 类的文档。但是,当尝试实例化此类的实例时

我收到一个错误

我知道 Solr 已安装并正常工作,因为以下工作正常:

我尝试安装最新的扩展版本(2.0.0),验证它已正确安装 solr_get_version(),但错误仍然存​​在。

我什至搜索了“dismax”扩展的完整源代码,但它不存在。

这个类曾经存在于这个扩展中吗?还是我应该改用日光浴室之类的东西?

0 投票
1 回答
919 浏览

php - Solr dismax:如何指定一个字段以使用参数'qs'进行搜索?

我想问是否有人知道如何使用“qs”参数指定一个字段。我的意思是,例如,有一个包含此字段和内容的文档

  • 编号:1
  • 名称:足球
  • 关键词:足球、球门、守门员
  • 短语关键字:英超联赛,冠军联赛,金奖,

然后我通过参数 qs: 20 使用 Dismax 进行搜索:'premier Awards'。因此,参数将类似于:

结果将是“名称”内容,对,但我只是将 qs:20 应用于字段短语关键字,因为如果搜索:“目标联赛”不匹配任何结果,尽管如果我打破搜索:“目标总理”或目标或总理。

因为我想这样搜索:

但是在带有“qs”(接近度)的短语关键字中,对于关键字是正常搜索。

0 投票
0 回答
41 浏览

solr - 是否可以在具有多个评分功能的 Solr 中评分?

这可以在 Solr 中使用 dismax:

是否可以基于多个查询字段进行评分,例如通过具有多个评分功能?为了掌握我的想法,我想做这样的事情:

0 投票
2 回答
987 浏览

solr - 为什么 Dismax 在简单查询中不起作用?

全部:

我对 SOLR 很陌生,我上传了一些在内容字段(存储但未编入索引,复制到文本字段)和标题字段(存储和索引复制到文本字段)中具有“季节”的文档

当我使用没有 dismax 的基本查询时,例如:

它工作得很好并返回正确的结果,但是当我想提升那些在内容而不是标题中具有更多“季节”的文档时,我使用了 dismax like(我想我使用它的方式完全是,因为内容没有被索引,但我至少期望某些返回结果甚至不正确):

没有返回匹配结果,我想知道是否有人可以帮助我解决这个问题?或者谁能​​告诉我如何正确使用 dismax

谢谢

0 投票
3 回答
1077 浏览

solr - 如何降低 dismax 中的术语

全部:

我想要做的是对内容字段中具有“季节”的文档进行高分,并在标题字段中严厉惩罚具有“季节”的文档并提升新创建的文档。

我想知道如何在 Dismax(或 eDismax)中做到这一点?谢谢

0 投票
1 回答
125 浏览

solr - Solr:如何使用 dismax 而不是使用 copyField?

我一直试图弄清楚这一点。如果我创建一个没有指令的架构:

我似乎什么都拉不起来。但是当我添加那个指令时,事情神奇地出现了。我正在尝试使用 ?defType=dismax 进行查询,但这似乎没有帮助。

我错过了什么吗?我的架构中需要一些特殊的东西吗?我正在索引我需要搜索的所有字段。

想法?

谢谢!