问题标签 [solr-query-syntax]

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 投票
0 回答
896 浏览

solr - solr 中用于常规查询的多个范围

当使用普通查询 (q) 而不是过滤查询 (fq) 时,如何在 solr 查询中拥有多个范围。我在这里查看了 solr 中的多个范围内的答案,但是当像这样使用普通查询时它们似乎不起作用:q=pageviews:([200 TO 250] OR [500 TO 550]),或页面浏览量: [200 到 250] 或浏览量:[500 到 550]。两者都试过了,但它们似乎不适用于我拥有的 solr。我发现的一个区别是我的 solr 只接受普通查询而不是过滤查询。

0 投票
2 回答
7380 浏览

solr - 如何使用类似于 rdbms 子查询的 Solr 子查询?

我需要在 Solr 中运行一个查询,其中包含另一个查询作为主查询的术语!

在 RDBMS SQL 中是这样的:

Solr有什么办法吗?

0 投票
1 回答
134 浏览

php - 使用 SOLR 和 PHP 通过用户名和名称搜索查找用户的关注者

我要做的是创建一个输入字段,当您键入时,它将根据输入的用户名和/或名称搜索关注您的用户。

我正在尝试使用 SOLR,因为它速度快而且我无法使用 MySQL 的 LIKE 功能,但是我遇到了可以传递给 SOLR 查询的值的数量问题(例如user_id:(1,2,3,5,etc))。SOLR 显然对您可以传递的值的数量有限制,我需要这个解决方案不受限制。

截至目前,我的 SOLR 索引包括usernamenameuser_id. 然后,我将以前收集的列表传递follower_ids给查询。

关于如何使这项工作的任何想法?

更新:正如增加 OR 子句的评论中所建议的那样......这确实不是一个好的解决方案,因为它会导致未来的问题。

0 投票
0 回答
2640 浏览

solr - 查询多值字段大小

我需要帮助。我需要查询结果基于多值字段大小。例如:我想要所有具有 5 个 sku 的文档。我有一个名为 skulist 的多值字段。我可以搜索多值字段大小吗?谢谢。

0 投票
0 回答
296 浏览

function - 具有 ex 和 tag 功能的 Solr 多方面

我正在使用 Solr 4.10,我们的要求是具有多个方面。每个方面应该过滤应该只影响选定的方面,而不是其他方面。

例如,假设有两个方面 BRAND 和 TYPE。当用户选择品牌为 Nikon 时,它应该影响 TYPE 方面,而不是 BRAND 方面。TYPE 的类似行为。

我尝试使用 tag 和 ex 函数实现,查询如下所示,

这在大多数情况下都可以正常工作,但是当结果为零时,Solr 会以某种方式返回其中一个方面的方面。对于上面的查询,我得到了一些类型的值,即使响应中没有文档。

以下是我们得到的回应,

}

0 投票
2 回答
201 浏览

solr - SOLR 中的 Isnull 等效项

我在 sql server 中的查询就像where isnull(id,'3') = 3它会给我所有空值以及等于 3 的值。我想在 SOLR 中实现相同但无法获得它。我试过了

但它没有给我任何结果,而-id:[* TO *]它给了我正确数量的结果。如何进行查询?

0 投票
2 回答
5652 浏览

solr - Solr Query 通过连接搜索子文档和父文档

我需要帮助构建一个 Solr 查询,它不仅可以搜索子文档并返回父文档,还可以搜索父文档。请参阅下面的示例架构:

制造商

  • ID
  • 姓名
  • 注释

产品

  • ID
  • 制造商 ID
  • 产品名称

所有 Solr 文档都有一个唯一的 ID 字段,但 Products 有一个特殊的字段“ManufacturerId”作为外键。

我想搜索所有名称为“iPod”的产品并返回父“制造商”文档。我可以通过使用下面的 Join 语句来完成。

另外,我想撤回那些在评论中有 iPod 的制造商。因此,结果将包括所有拥有 iPod 产品并在其评论字段中包含 iPod 一词的制造商。我试过以下没有运气。

任何帮助将不胜感激。

谢谢!!

更新:

当我使用过滤查询“fq”字段而不是常规查询字段“q”时,它似乎可以正常工作。我不确定这是否是最好的解决方案。另外,我想知道相关性是否会以同样的方式工作。更好的解决方案表示赞赏。

或者

0 投票
1 回答
611 浏览

solr - Solr 精确匹配提升 减少结果

我有两个字段,一个是复制字段。

  1. <field name="product_name" type="text_wslc" indexed="true" stored="true" required="true" multiValued="false"/>

  2. <field name="dummy_name" type="string_ci" indexed="true" stored="false" required="true" />

其定义如下

提交的副本是首先获得完全匹配的结果。我的查询是这样的

/select?q=("laptop+bag")&df=product_name&defType=edismax&qf=dummy_name^20000+product_name^0.01

它给了我大约 8000 个结果

但实际结果是20000左右

但它不会首先列出确切的结果。我该如何解决这个问题?我的查询有问题吗?这是我的字段和定义

0 投票
2 回答
67 浏览

mysql - Solr 的 MySQL 'BETWEEN' 查询模拟

我需要向 Apache Solr 发出类似于 MySQL BETWEEN 查询的搜索请求。

在 Solr 文档中,我有两个字段:“postcode_from”和“postcode_to”。这是一些国家地区或城市的一系列邮政编码。

只有整数!!!

我有一个介于“postcode_from”和“postcode_to”之间的值(例如 1234),我需要找到所有通过此条件的记录。

在 MySQL 中,它很容易解决:

如何为 Solr 编写正确的查询?

谢谢你的帮助!

0 投票
0 回答
116 浏览

solr - 结合两个 Solr MLT 查询

只是想知道是否可以将 MLT 查询(基于过滤条件)组合成一个查询。我正在尝试结合这两个查询的结果:

Source 字段对于两个查询具有不同的值。我想结合两个查询的结果,是否可以在一个查询中完成?

任何指针将不胜感激。