问题标签 [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.
solr - 我的 multiValued 字段没有匹配
使用 edismax defType 和 multiValued 字段时,我没有得到匹配。
和 schema.xml 定义。
当我检查文档时,会返回一个完全匹配的文档。
但是当我执行以下查询时,numFound 为 0。
multiValued="false" 字段不会发生这种情况。
有任何想法吗?
solr - Solr 我用 dismax 得到结果,但没有用 edismax
当我在我的 solr 3.6.2 debian 服务器上使用 dismax 和 edismax 执行两次相同的查询时,我得到了 dismax 4 结果,如预期的那样,但 edismax 0 结果。
下面你会发现 3 个在同一索引上运行的示例。该索引包含一条记录“label:M025 Some-Example Record”
- Edismax 与:q=M025 没有结果。
- Dismax 与:q=M025 找到 4 个项目。
- Edismax 与:q=找到 1 个项目的示例。
为什么 EDISMAX 没有找到“M025”而是“Example”?
Solr 架构
示例 EDISMAX
示例 DISMAX
带有名称的 EDISMAX 示例
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 类)吗?
以下帖子与我的问题有关:
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,但得到了相同的结果......似乎我做的提升有多大或多小并不重要。
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”扩展的完整源代码,但它不存在。
这个类曾经存在于这个扩展中吗?还是我应该改用日光浴室之类的东西?
php - Solr dismax:如何指定一个字段以使用参数'qs'进行搜索?
我想问是否有人知道如何使用“qs”参数指定一个字段。我的意思是,例如,有一个包含此字段和内容的文档
- 编号:1
- 名称:足球
- 关键词:足球、球门、守门员
- 短语关键字:英超联赛,冠军联赛,金奖,
然后我通过参数 qs: 20 使用 Dismax 进行搜索:'premier Awards'。因此,参数将类似于:
结果将是“名称”内容,对,但我只是将 qs:20 应用于字段短语关键字,因为如果搜索:“目标联赛”不匹配任何结果,尽管如果我打破搜索:“目标总理”或目标或总理。
因为我想这样搜索:
但是在带有“qs”(接近度)的短语关键字中,对于关键字是正常搜索。
solr - 是否可以在具有多个评分功能的 Solr 中评分?
这可以在 Solr 中使用 dismax:
是否可以基于多个查询字段进行评分,例如通过具有多个评分功能?为了掌握我的想法,我想做这样的事情:
solr - 为什么 Dismax 在简单查询中不起作用?
全部:
我对 SOLR 很陌生,我上传了一些在内容字段(存储但未编入索引,复制到文本字段)和标题字段(存储和索引复制到文本字段)中具有“季节”的文档
当我使用没有 dismax 的基本查询时,例如:
它工作得很好并返回正确的结果,但是当我想提升那些在内容而不是标题中具有更多“季节”的文档时,我使用了 dismax like(我想我使用它的方式完全是,因为内容没有被索引,但我至少期望某些返回结果甚至不正确):
没有返回匹配结果,我想知道是否有人可以帮助我解决这个问题?或者谁能告诉我如何正确使用 dismax
谢谢
solr - 如何降低 dismax 中的术语
全部:
我想要做的是对内容字段中具有“季节”的文档进行高分,并在标题字段中严厉惩罚具有“季节”的文档并提升新创建的文档。
我想知道如何在 Dismax(或 eDismax)中做到这一点?谢谢
solr - Solr:如何使用 dismax 而不是使用 copyField?
我一直试图弄清楚这一点。如果我创建一个没有指令的架构:
我似乎什么都拉不起来。但是当我添加那个指令时,事情神奇地出现了。我正在尝试使用 ?defType=dismax 进行查询,但这似乎没有帮助。
我错过了什么吗?我的架构中需要一些特殊的东西吗?我正在索引我需要搜索的所有字段。
想法?
谢谢!