问题标签 [edismax]

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

search - 使用 edismax 的 Solr 相关性

如何在 solr 配置中添加 edismax 以提升我的标题,然后是描述,然后是方面等等......

我的 solr 配置看起来像这样

架构为

0 投票
1 回答
268 浏览

solr - solr 单个字段上的多个范围导致错误

我有一个使用 solr 的 drupal 站点。它工作正常,除非我对同一字段有 2 个范围查询,然后它会中断并且我收到以下错误:

尝试使用 Solr 搜索时发生错误:“400”状态:错误请求:错误请求{“error”:{“msg”:“org.apache.solr.search.SyntaxError:无法解析'((im_field_products_collection$field_products$ field_product_winch_line_length:[\"90\"': 在第 1 行第 83 列遇到 \"\"。\n期待以下之一:\n \"TO\" ...\n ...\n ...\n ","代码":400}} 。

这是模块为该字段生成的查询

(({!tag=facet:field_products_collection:field_products:field_product_winch_line_length}((im_field_products_collection$field_products$field_product_winch_line_length:["90" TO ]) (im_field_products_collection$field_products$field_product_winch_line_length:[ TO "99"]))) 或 ({!tag =facet:field_products_collection:field_products:field_product_winch_line_length}((im_field_products_collection$field_products$field_product_winch_line_length:["100" TO ]) (im_field_products_collection$field_products$field_product_winch_line_length:[ TO "109"]))))

一切对我来说都是正确的,并且只需对字段进行单个范围查询即可正常工作,有没有人知道查询的哪一部分会导致错误?我正在使用 edismax 解析器。

0 投票
1 回答
168 浏览

solr - solr lucene 仅在查询匹配文本时应用 bf

当查询“来自约翰的电子邮件”匹配文本“具有来自约翰的电子邮件的其他文本”并且查询中的每个单词以这种确切格式存在于文本字段中时:

然后只有那时我才需要应用 bf 功能。

是否可以使用 Solr 实现此规则/功能?

谢谢,彼得

0 投票
1 回答
929 浏览

solr - 混淆 edismax 中的 tie 和 qf

我对eDisMax中的qftie参数感到困惑

根据文件:

qf用于指定搜索哪个字段,而tie用于指定所有其他字段(最高分字段除外)对总分的影响。

我的困惑是因为我们已经指定了要搜索的字段(假设我们只指定一个字段),为什么我们仍然能够获取其他字段来影响总结果(我想这一定是我对 edismax 工作原理的误解,但这也是我的困惑。)?

或者这是否意味着每次, edismax 都会计算所有字段的所有分数并将它们与最终分数联系起来(即使我们只指定一个字段)?

0 投票
1 回答
431 浏览

solr - 在 Solr 中为 edismax 禁用布尔查询

如何在 edismax 中为 solr 禁用布尔运算符?

以下查询:Edismax -The Extended DisMax Query Parser不应排除提及“the”的结果(假设未使用停用词)。

0 投票
2 回答
884 浏览

solr - Solr在使用edismax qf参数并在查询中指定字段时如何处理查询字符串

全部:

[更新]

阅读调试说明后,似乎 qf 将仅扩展关键字而不指定字段。

==================================================== ==================

当我学习使用edismax查询解析器时,它说 qf 参数是:

查询字段:指定索引中要执行查询的字段。如果不存在,则默认为 df。

其目的是生成所有字段与查询词的组合。

但是,如果我们已经在查询(q 参数)中指定了字段,我想知道当我在 qf 中指定另一个不同的字段时会发生什么?

例如:

谁能解释一下 SOLR 如何解释这个查询?

谢谢

0 投票
0 回答
404 浏览

solr - Solr Extended DisMax 不再添加短语查询的分数

我从Solr 4.4.0升级到5.1.0,当短语查询在多个字段中匹配时,我注意到与 Extended DisMax Query Parser 不同的行为。

4.4.0中,如果一个短语查询在 field1 和 field2 中匹配,那么这两个 boost 的总和将用于提高文档的分数。

使用5.1.0,仅使用不同字段中匹配的最大值来提高文档的分数。

有没有办法影响这种行为?

0 投票
1 回答
335 浏览

solr - 确切的词对 Solr 没有太大的推动作用

作为给定链接中的参考

我试过一个例子。我的 schema.xml 配置如下。

精确的单词搜索适用于此。

但是具有精确匹配提升的模糊搜索并没有给出预期的结果。这是我的查询

有什么帮助吗?

0 投票
1 回答
645 浏览

apache - 带有停用词和特定语言字段的 eDismax 查询

我有 3 个文本字段:

  • content_en
  • content_sp
  • content_fr

上述每个字段都有自己的一组分析器、标记器和过滤器。他们也有自己的一组停用词。

我使用 LangIdentifierProcessor ( https://cwiki.apache.org/confluence/display/solr/Detecting+Languages+During+Indexing ) 来确定索引文档的语言,Solr 会将该文档的内容写入正确的字段。

最后,我使用 eDisMax 解析器处理查询。我的 qf 参数映射到上面的 3 个字段,并且 mm 参数设置为 100%。

这是我的问题:当我使用“Yellow House”查询进行搜索时,Solr 将返回所有带有YellowHouse术语的文档。伟大的。现在,当我用“黄房子”查询时,我不会得到任何回报。经过一段时间的调试,我发现Solr为'The Yellow House'构造了一个类似于以下的查询: +( (content_sp:the | content_fr:the) (content_en:yellow | content_sp:yellow | content_fr:yellow)( content_en:house | content_sp:house | content_fr:house))

请记住,我将 mm 设置为 100%,这意味着必须在要返回的文档中找到所有术语。由于术语“the”是我的英语字段的停用词,因此 Solr 不会将其包含在针对 content_en 字段的查询中,但它确实将其包含在我的其他两个字段的查询中,这显然会失败,因为这些字段赢了里面没有任何英文文件。(由于上面链接中解释的 LangIdProcessor)。

现在 - 作为一个快速修复,我想我可以将所有停用词列出到一个文件中,但是这是错误的。我也知道我可以为每个查询指定我的 qf 字段,这将允许我检测查询语言,然后指定要搜索的字段。但是我可以在 Solr 中做些什么来指定这个(可能是某种 SearchComponent)吗?还是我的多语言方法不正确?

0 投票
1 回答
370 浏览

solr - 如何将模糊搜索中的默认编辑距离从 2 设置为 1?

我正在使用 edismax 解析器。我的架构中有很多字段,fullText 就是其中之一。我正在使用这个查询:

(检查查询词后的〜符号)

现在,当我使用 debugQuery 时,我发现这是在内部查询:

有什么办法可以将默认编辑距离从 2 更改为 1?