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

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

作为给定链接中的参考

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

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

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

有什么帮助吗?

0 投票
1 回答
527 浏览

solr - {!boost ...} 乘数与 dismax 查询解析器

如何将q={!boost ...}乘数与 dismax 查询解析器一起使用?

使用标准查询,您可以执行以下操作:

但是,当我尝试对 dismax 进行等效操作时:

我收到以下错误:

我猜想{!boost ...}q覆盖范围内指定并导致使用标准查询解析器解析defType=dismax的剩余部分。q我如何{!boost ...}与 dismax 一起使用?

注意:我正在运行 Solr 4.10.4。

0 投票
0 回答
66 浏览

solr - Solr EDisMax 问题

我试图从索引中获取一些文档,但没有运气。

我有这样的文件

如果您注意到,标题会显示“事物”。该字段类型为“text_es”,描述如下:

如果我进行以下搜索:

http://localhost:8983/solr/select/?q=thing&defType=edismax&qf=title^20.0+text^0.3

它什么也不返回。它适用于 Solr 3.6,但不适用于 Solr 5.2。我正在使用 Solarium (PHP) 消耗所有东西,但不知道如何解决这个问题。

我做错了什么?

提前致谢!

0 投票
2 回答
5128 浏览

solr - Solr - dismax 解析器的 mm 参数

我在Solr我的一个项目中使用 5.2.1,对/解析器的mm参数有一些疑问。dismaxedismax

问题:

  • mm考虑总输入项计数吗?文档说是,但是当我将其设置为 3 并输入单个术语时,它仍然可以获得记录,因此似乎与输入术语总数无关。
  • 的默认值是mm多少?文档说它是100%,但在我的查询测试中,它似乎是1。顺便说一句,我没有找到mminsolrconfig.xmlschema.xml.

有什么帮助吗?谢谢。


@更新:

第一个问题的查询网址:

http://localhost:8983/solr/demo/select?q=new+york&start=0&wt=json&indent=true&defType=edismax&qf=title&mm=3&stopwords=true&lowercaseOperators=true

有 2 个词newyork,查询结果为:

  • 不指定mm,返回 3 条记录,
  • mm= 2,返回1条记录,
  • mm= 3,也返回 1 条记录,

所以,我想它会在查询之前首先将 mm 更改为 max 项。

0 投票
4 回答
1287 浏览

mysql - Solr 搜索确切的短语/子字符串

我在工作中使用 solr,它非常棒。但是,我无法生成更详细的搜索结果。

我正在按名称、品牌、性别和类别(正装鞋、夹克等)搜索产品。品牌存在于“品牌”数据库表中,类别和性别也是如此。产品存在于“产品”数据库表中,该表与 Brands、Category 和 Genders 表具有外键。

我正在将所有这些加载到 solr 中,我可以毫无困难地对它们进行加权排名搜索。这将给出最相似的产品,按某些领域进行权衡。我接下来要做的是从每个字段中找到任何搜索字符串的完全匹配项。例如:

搜索字符串:“Michael Kors 浅绿色男士正装鞋”

应该匹配:

品牌:

  • 迈克尔·科尔斯

颜色:

  • 浅绿色
  • 绿色的

性别:

  • 男士

类别:

  • 礼服鞋

然后我可以进行更严格但分类的相交搜索。例如,所有 [浅绿色] AND [michael kors] AND [Dress Shoes OR Shoes] 的产品

谢谢 :)

0 投票
0 回答
636 浏览

search - Solr edismax 解析器和多字段搜索

我使用edismax查询解析器来处理针对Solr 4.10.3服务器的用户查询。

我将q.op参数配置为AND并完全禁用mm参数,以便仅达到 100% 匹配。

当用户在单个字段中搜索多个术语时,一切正常。

例如,查询food:(beer cola Pizza)仅返回那些在food字段中包含所有术语beercolaPizza的文档,这是预期的行为。

但是当用户在多个字段中搜索时,Solr 似乎忘记了q.op配置并且表现得好像参数设置为OR

例如,查询food:(beer cola Pizza) AND color:(green yellow blue)返回所有那些在字段food中包含术语beercola Pizza之一的文档以及包含术语greenyellow OR之一的文档字段颜色为蓝色,这不是预期的行为。

一种解决方法是使用+ 运算符明确地准备每个术语,如下所示:food:(+beer +cola +pizza) AND color:(+green +yellow +blue)

但是我需要在我们的 java-webapplication 中添加这个运算符,这是一种“硬代码”功能。当用户决定将q.op运算符配置回OR时,我认为硬编码+会导致问题。

有没有办法通过配置达到预期的搜索结果?

0 投票
1 回答
37 浏览

solr - 在 solr dismax 解析器中使用查询进行拼写更正

我正在使用 dismax 解析器来查询字段中的数据

在标准查询解析器中,如果我搜索“object_description:Tradiional”一词,它会给我 13 个结果,如果我搜索“object_description:Tradiional~1”,它也会给我 13 个结果,这是正确的

我的问题是如何使用 dismax 解析器实现它。我可以在 url 中执行还是必须更改配置?

提前谢谢

0 投票
1 回答
1597 浏览

solr - Solr dismax 查询多个字段

我正在尝试对多个字段进行 solr dismax 查询,并且对语法有点困惑。

我的核心包含大量播客剧集。索引中的字段为 EPISODE_ID、EPISODE_TITLE、EPISODE_DESC 和 EPISODE_KEYWORDS。

现在,当我进行查询时,我想在 EPISODE_TITLE、EPISODE_DESC 和 EPISODE_KEYWORDS 字段中搜索查询词,并为不同的字段提供不同的提升。

因此,当我搜索“jedi”时,我构建的查询如下所示:

但是,这似乎不起作用 - 它返回零记录。

当我像下面这样放置一个默认字段时,它现在可以工作了,但这有点废话,因为这意味着我没有从搜索所有 3 个字段中得到结果:

我在这里缺少什么吗?我认为您可以搜索多个字段,并且我认为“qf”参数意味着您不需要提供默认字段参数?

非常感谢所有帮助...

0 投票
0 回答
87 浏览

solr - 如何在 Solr 中以特定的列顺序获取相关搜索结果。

我想将我的 Solr4.7.2 结果按特定的相关顺序分组,这样我就有 3 列,即标题、摘要和内容,我正在对这些列进行 solr 搜索。

目前我正在通过执行此查询来使用简单查询解析器。

它通过搜索字符串“2016”向我显示结果

现在我想以一种方式对我的结果进行分组,确切的标题匹配应该首先以相关性顺序显示>然后是精确摘要匹配>然后是精确内容精确匹配。在另一组中,它应该显示较少得分的磁贴 > 摘要 > 内容。

对于前。预期结果应该是

我尝试通过应用 qf=title^2 摘要内容来使用 dismax 查询解析器,但它没有显示任何结果。

0 投票
1 回答
553 浏览

solr - Solr dismax 查询不返回数据,而标准查询则返回

调用这样的查询时我找不到任何结果:

http://localhost:8983/solr/somecore/select?q=title:king&wt=json&defType=dismax

但是像这样调用查询:

http://localhost:8983/solr/somecore/select?q=title:king&wt=json

按预期找到 9 个文档。

我尝试了各种方法(例如 qildcard: :,但无济于事)。

如果有人能指出我做错了什么的问题或文档。

如果重要的话,schema.xml 如下: