问题标签 [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 投票
1 回答
115 浏览

solr - 无法理解 solr 查询 bf 归档

我对 solr 非常陌生,并且正在努力解决文档问题,但无法理解bf

这是什么意思bf= x^y

这个怎么运作?如果要影响上述查询的不同值x和分数,分数将如何?y

有什么具体的公式还是什么??

0 投票
1 回答
183 浏览

solr - 如何在 Solr 中查询具有给定未定义字段的文档?

我无法获取如何查询我的索引以查找所有没有名为“adm4”的可选字段的文档。

有什么建议吗?

0 投票
0 回答
87 浏览

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

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

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

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

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

对于前。预期结果应该是

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

0 投票
1 回答
741 浏览

cassandra-2.0 - Cqlsh 查询通配符

我想要一个查询来执行以下操作

列出以 A 开头或结尾的员工姓名

但我在一些网站上看到 cassandra 不支持通配符是真的还是假的

我也提到了 solr_query 但 cqlsh 给出了错误 undefined name solr_query

select * from emp where solr_query='name:A* or name:*A'; 名称在哪里

这个你能帮我吗

0 投票
0 回答
355 浏览

solr - 通过使用uniquekey中的通配符的原子更新从多值字段中删除值?

我有一个多值字段(custprc),有一个整数(键),一个下划线,然后是一个十进制值。该字段如下所示:

{1234_11.22, 1235_12.00, 1236_11.44}

假设我使用唯一键字段 (id),我可以使用具有原子更新的removeremoveregex命令从该字段中删除条目,没有问题。但是,我希望能够通过在 id 字段上使用通配符,或者根本不使用 id 字段而只使用另一个字段(catlgcode)来进行类似的更新。

以下命令可以正常工作: {"id":"20303001123", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}

我想使用更像这样的东西:

{"id":"20*", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}

或这个:

{"catlgcode":"20", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}

两者似乎都不起作用。SOLR 不返回错误,我得到响应代码 0,但没有触及记录。我已在我的 schema.xml 中将 id 字段设置为 required=false,并且我尝试将其从 string 更改为 text_general,但到目前为止没有运气。

我相对频繁地更新一个大型数据集,因此我宁愿发送 1 个带有通配符的请求,而不是 30,000 多个原子更新。我错过了什么吗?有任何想法吗?

0 投票
1 回答
96 浏览

solr - 使用 solr 在单个查询中通过多个连接规范化响应

可以对以下 solr 集合执行查询

这将返回类似:

在典型的搜索框输入中按 book_name AND/OR category_name AND/OR author name 搜索?或替代响应,我会返回类似的东西?

否则,实现它的首选解决方法/最佳实践是什么?

...我们希望通过前端 Web 应用程序执行单个查询,而不使用后端 Web 应用程序来构建响应,因为该数据已经在 solr 中。

0 投票
1 回答
126 浏览

solr - Solr 通配符搜索

我想按书名搜索一本书。假设我有两本书叫

然后我做一个 solr 通配符搜索,如下所示:

我期待从这次搜索中获得 2 本书,但找到的文档数量为 0

参考我找到了通配符搜索:

我正在使用solr 6。

0 投票
2 回答
187 浏览

sorting - Solr按相关性排序并包含多个字段

我正在使用 Solr 5.3.0 制作新闻搜索系统。假设我有以下新闻领域:{

  • 标题
  • 内容
  • 日期
  • 新闻类型

}

我在这个搜索系统中同时搜索公司名称和经理名称。让我们说“Stark Industries”作为公司名称,“Tony Stark”作为经理名称。我想按日期(这很容易做到)、相关性和以下规则对结果进行排序:

A:

  1. 有关术语同时存在于“标题”字段和“内容”字段中的消息。

  2. 有关术语仅存在于“标题”字段中的消息。

  3. 有关条款仅存在于“内容”字段中的消息。

乙:

  1. 公司名称(Stark Industries)和经理名称(Tony Stark)都存在的消息。

  2. 只有公司名称存在的新闻。

  3. 只有经理姓名存在的新闻。

顺序应该是 1>2>3(这意味着 1 应该在 2 的顶部)。而A和B应该是两种不同的新闻评分方式。最终得分可能等于 A*B。

我使用此代码赋予“标题”字段比“内容”字段更大的权重defType = edismax & qf=notice_title^200+notice_content。所以我让“标题”字段比“内容”字段更重要。

但是通过这种方式,我无法确定 A1 > A2 > A3。它只会增加“标题”字段的分数。与规则 B 相同,我只能使用 qf 来增加公司名称的权重。

如果有办法增加 (Title && Content):(CompanyName && ManagerName) 的权重,应该会有所帮助。(我试图表示这两个字段中都存在这两个术语。)但是这种语法在 qf 中不起作用。

任何帮助将不胜感激。

0 投票
0 回答
1069 浏览

solr - SOLR 两个查询的并集

我需要类似于下面的 sql 的联合。

选择前 10 个 * from table1 order by name desc union Select top 5 * from table1 order by name asc

所以结果应该是一个包含 15 条记录的列表。是否可以在 SOLR 的单个查询中执行此操作?

我正在使用 SOLR 5.3.1

感谢并非常感谢您的反馈。

0 投票
4 回答
2411 浏览

solr - Solr 不包括结果中具有空值的字段

Solr 上的索引数据包含一些具有空值的字段。当我运行q=*:*它时,它不包括具有空值的字段。查询时我需要传递什么参数以获取结果中具有空值的字段。

编辑:我正在使用 csv 文件索引数据,文件中的条目如下:

现在,当我搜索前 10 条记录时,我只得到两个字段。即使没有为此存储任何值,我也想获取所有字段。