问题标签 [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.
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.
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
?
autocomplete - Solrj:如何指定路径
我正在尝试使用TermsComponent来实现 Solrj 的自动建议,但我看不到如何指定路径(即 的/terms
部分http://localhost:8983/solr/terms
)。
如何使用 Solrj 指定路径?
奖励:有没有办法为terms.fl
参数指定多个字段?
谢谢
solr - 只有通配符搜索在 solr 中有效
我使用 SolrJ 索引了几个文档,现在我想使用 SolrJ 搜索相同的索引。我没有使用嵌入式服务器。
我什至无法通过他们的基于网络的面板为我的索引获得结果。
ps:顺便说一句,索引进行得很好,我通过查询运行通配符搜索来检查它们是否被索引"*:*"
..
这是搜索片段:
这里是schema.xml 如果链接失效了告诉我...
search - 为什么他们在 Solr 中创建了“schema.xml”的概念?
Lucene 进行搜索和索引,所有这些都是通过“编码”来实现的……为什么 Solr 不这样做呢?为什么我们需要 schema.xml ?它的重要性是什么?有没有办法避免将我们想要的所有字段放入 schema.xml ?(我想动态字段是要走的路,对吧?)
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 的数据......
solr - 将 Solr 的 TermsComponent 中的术语限制为源自某些文档的术语
我正在使用 Solrs 术语组件来实现自动完成功能。我的文档包含我在“标签”字段中编制索引的标签。现在我可以使用 TermsComponent 找出所有存储的文档中使用了哪些标签。到目前为止,这工作得很好。
但是还有一些额外的要求:每个文档都有一个所有者字段,其中包含拥有它的用户的 ID。自动完成列表应该只包含来自文档的标签,请求自动完成的用户实际上拥有这些标签。
我试图设置查询参数,但是这似乎被条款组件忽略了:
那么有没有办法限制TermsComponent返回的标签,还是我必须手动查询用户的所有标签并自己过滤它们?
lucene - 使用 Solr 进行成本比较
我计划构建类似 pricegrabber.com/google 产品搜索的东西。
假设我已经在一个巨大的表中拥有了可用的数据。我计划将这一切提交给 Solr。这解决了搜索问题。但是我不确定如何进行比较。我可以通过查询(在 UPC/SKU 上)对 Solr 在 DB 上返回的产品进行分组。但是,我不想那样做。我想以某种方式将产品比较数据与 Solr 本身的搜索一起返回给我。
您认为我的架构应该如何?你认为 Solr/Sphinx 可以解决这个用例吗?
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 版本。
谢谢,
solr - SolrJ:禁用自动提交
我们有一个 Solr 实例,我们发现在 solrconfig.xml 中打开 autoCommit 实际上可以很好地满足我们的需求。但是,在某些实例和一些批处理操作中,我们希望暂时禁用自动提交。我找不到任何东西,但我想知道是否有人知道是否可以通过 SolrJ 禁用某个进程的自动提交,然后重新启用它?