问题标签 [solrj]

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 投票
3 回答
33000 浏览

lucene - Solr/Solrj: How can I determine the total number of documents in an index?

How can I determine the total number of documents in a Solr index using Solrj?

After hours of searching on my own, I actually have an answer (given below); I'm only posting this question so others can find the solution more easily.

0 投票
2 回答
5686 浏览

solr - Solr/SolrJ: how to iterate results without creating a giant ArrayList

Is there a way to iterate over a Solrj response such that the results are fetched incrementally during iteration, rather than returning a giant in-memory ArrayList?

Or do we have to resort to this:

And while I'm on the topic, why does SolrQuery.setStart() require an integer, when SolrDocumentList.getStart()/getNumFound() return long?

0 投票
3 回答
2561 浏览

autocomplete - Solrj:如何指定路径

我正在尝试使用TermsComponent来实现 Solrj 的自动建议,但我看不到如何指定路径(即 的/terms部分http://localhost:8983/solr/terms)。

如何使用 Solrj 指定路径?

奖励:有没有办法为terms.fl参数指定多个字段?

谢谢

0 投票
1 回答
580 浏览

solr - 只有通配符搜索在 solr 中有效

我使用 SolrJ 索引了几个文档,现在我想使用 SolrJ 搜索相同的索引。我没有使用嵌入式服务器。

我什至无法通过他们的基于网络的面板为我的索引获得结果。

ps:顺便说一句,索引进行得很好,我通过查询运行通配符搜索来检查它们是否被索引"*:*"..

这是搜索片段:

这里是schema.xml 如果链接失效了告诉我...

0 投票
3 回答
1957 浏览

search - 为什么他们在 Solr 中创建了“schema.xml”的概念?

Lucene 进行搜索和索引,所有这些都是通过“编码”来实现的……为什么 Solr 不这样做呢?为什么我们需要 schema.xml ?它的重要性是什么?有没有办法避免将我们想要的所有字段放入 schema.xml ?(我想动态字段是要走的路,对吧?)

0 投票
1 回答
482 浏览

lucene - 我们可以定制嵌入在 Solr 中的 Lucene 吗?

我们可以像在原始 Lucene 中一样自定义嵌入在 Solr 中的 Lucene 吗?这样我们就可以在 Solr 中拥有我们在 Lucene 中拥有的“一切”?

我之所以这样问,是因为我们在决定 Solr 与 Lucene 时陷入困境,这样想:

论点 1:

“如果我们选择 Solr,我们将来可能会遇到一个死区,因此 Lucene 是一个更好的选择......所以我们不妨开始在 Lucene 之上编写 HTTP 包装器和几乎一半的 Solr,以更安全。”

论点 2:

“Solr 已经具备了我们想要使用的所有功能,那为什么不直接使用呢?既然提交 Lucene 的人也负责提交 Solr,那么 Solr 也可以使用 Lucene 的所有功能......”

我浏览了许多博客和帖子,其中包含以下内容:

对于需要对 Lucene API 类进行低级访问的非常定制化需求的情况,Solr 将是一个障碍而不是帮助,因为它是一个额外的间接层。
-http://www.lucenetutorial.com/lucene-vs-solr.html

捍卫论点 2 的一种方法是确认我们可以自定义 Solr 中的底层 Lucene,就像我们只有 Lucene 时所做的那样。

有人可以提供一个更好的方法来结束这个论点吗?:)

ps:我们需要一个快速搜索,索引和分片 TB 的数据......

0 投票
1 回答
2932 浏览

solr - 将 Solr 的 TermsComponent 中的术语限制为源自某些文档的术语

我正在使用 Solrs 术语组件来实现自动完成功能。我的文档包含我在“标签”字段中编制索引的标签。现在我可以使用 TermsComponent 找出所有存储的文档中使用了哪些标签。到目前为止,这工作得很好。

但是还有一些额外的要求:每个文档都有一个所有者字段,其中包含拥有它的用户的 ID。自动完成列表应该只包含来自文档的标签,请求自动完成的用户实际上拥有这些标签。

我试图设置查询参数,但是这似乎被条款组件忽略了:

那么有没有办法限制TermsComponent返回的标签,还是我必须手动查询用户的所有标签并自己过滤它们?

0 投票
1 回答
893 浏览

lucene - 使用 Solr 进行成本比较

我计划构建类似 pricegrabber.com/google 产品搜索的东西。

假设我已经在一个巨大的表中拥有了可用的数据。我计划将这一切提交给 Solr。这解决了搜索问题。但是我不确定如何进行比较。我可以通过查询(在 UPC/SKU 上)对 Solr 在 DB 上返回的产品进行分组。但是,我不想那样做。我想以某种方式将产品比较数据与 Solr 本身的搜索一起返回给我。

您认为我的架构应该如何?你认为 Solr/Sphinx 可以解决这个用例吗?

0 投票
2 回答
911 浏览

solr - Solrj (1.4.1) 性能相关查询

我在我的项目中使用 Solrj 作为 Solr 客户端。

在搜索时,对于几句话,Solrj 似乎需要更多时间来发送响应,例如(8 - 12 秒)。在搜索大多数其他词时,似乎 Solrj 只需要更少的时间。

例如,如果我在浏览器中发布搜索 url,它仅以毫秒为单位显示 QTime。

http://serverName/solr/mydata/select?q=computing&qt=myhandler&fq=category:1

但是,如果我在下面的项目中使用 Solrj 查询相同的内容,则需要很长时间(8 - 12 秒)才能产生相同的结果。因此,我怀疑 Solrj 是否需要这么长时间才能产生结果。

SolrServer 服务器 = 新 CommonsHttpSolrServer(url); SolrQuery 查询 = new SolrQuery("计算"); query.setParam("qt", "myhandler"); query.setFilterQueries("category:1"); query.setHighlight(false); QueryResponse rsp = server.query(query);

我已经尝试过 POTH 和 GET 方法。但是,两者都需要很多时间。

知道为什么 Solrj 需要这么长时间来处理特定的单词。它返回大约 40 个文档列表作为搜索结果。我什至对此进行了注释。

以及任何加快速度的方法。

注意:我使用的是 Tomcat 并将堆大小设置为 1024 mb 左右。我正在使用 Solr 1.4.1 版本。

谢谢,

0 投票
2 回答
2805 浏览

solr - SolrJ:禁用自动提交

我们有一个 Solr 实例,我们发现在 solrconfig.xml 中打开 autoCommit 实际上可以很好地满足我们的需求。但是,在某些实例和一些批处理操作中,我们希望暂时禁用自动提交。我找不到任何东西,但我想知道是否有人知道是否可以通过 SolrJ 禁用某个进程的自动提交,然后重新启用它?