问题标签 [solr4j]

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 回答
206 浏览

solr - Solr4j 和排序规则响应

当我在浏览器上对 solr 运行拼写检查查询时,我可以看到带有建议和排序规则的响应,但是,当我使用 solr4j 运行时,我只看到建议 - 没有排序规则。

询问

回复

但是当我从 solr4j 调用时,除了响应的“整理”部分之外,我得到了上述所有内容!

所以,我从浏览器中尝试了这个 URL(添加了 wt=javabin 和版本)来查看 solr4j 正在接收什么。

下载了一个文件,我用文本编辑器打开它

它不可读,但是,我可以在那里看到“排序规则”这个词!那么,为什么 Solr4j 不接受呢?

0 投票
1 回答
471 浏览

solr - Solr 性能调整以实现更快的查询/索引,而不是存储要求

我们正在寻找提高 solr 查询/索引性能的方法。我们不关心存储要求。我们有很多存储空间。

本质上,我们希望通过在 solr 索引上投入更多存储来加速 solr 查询/索引。

我已经查看了http://wiki.apache.org/solr/SolrPerformanceFactors。但它不涵盖这种特殊情况。

ps 你可以告诉我这是一个愚蠢的问题,我不介意:)

0 投票
1 回答
973 浏览

solr - Solr:软自动提交的问题(近乎实时)

在软自动提交(近实时)中出现问题。我在 tomcat 上使用 solr 4.3。索引大小为 10.95 GB 。使用此配置,返回索引文档需要 60 多秒。将文档添加到 solr 并在软提交时间后搜索时,它返回 0 个命中。在文档实际开始显示之前需要很长时间,甚至超过 autoCommit 间隔

机器是 ubuntu 13 / 4 核 / 16GB RAM。给运行在 tomcat 上的 Solr 6gb。

有人可以帮我吗?

0 投票
3 回答
1923 浏览

java - 无法在 SolrCloud 中使用 CloudSolrServer 提交文档

我最近开始探索 SolrCloud 并尝试使用 CloudSolrServer 客户端索引文档。我看到的问题是,如果我不在 CloudSolrServer 对象上触发显式提交,则文档不会被索引。这是我的代码片段:

我有 2 个分片,每个分片有 1 个副本和一个 zookeeper 实例。

运行此测试代码后,我可以看到请求到达节点。这是日志的输出:

从日志来看,提交似乎已成功完成。但是,如果我查询服务器,则没有任何条目出现。

现在,如果我打开

我会查看索引的数据。这是日志:

这是提交配置: p>

不知道我在这里缺少什么,任何指针都会被应用。

谢谢

0 投票
0 回答
154 浏览

java - 使用 CloudSolrServer SolrJ 4.4 获取 IndexReader

我想以编程方式使用 FastVectorHiglighter.getBestFragments(...) 。为此,我需要指定请求的 IndexReader 对象。

问题是我无法获得请求本身。SolrQuery 对象提供的只是 queryRespose。

试图创建我自己的 SolrCore 对象

尽管 above(getReader()) 结果为空。将使用一些提示:如何使用 solrCloud 获取 indexReader。

先感谢您

0 投票
1 回答
3761 浏览

solr - 索引时出现“大小超过配置的最大值”错误

我需要索引 PDF 文件,有人告诉我 Solr 可以做到这一点。所以我在 Weblogic 上安装了一个 Solr-Server 并用 Web-Interface 尝试了一些东西。

最后我写了一个 JUnit-Test 类来尝试用 Java 和 Solrj 做同样的事情。

我编写了一个(简单)代码来索引几个 pdf 并执行查询以查看文档是否被索引:

通过运行此测试,我收到以下错误:

我检查了 weblogic 设置(servers->protocols->http),Max Post Size 设置为-1(应该意味着无限大小)。

还有其他必须设置的地方吗?

编辑:这里是 solrconfig.xml

0 投票
1 回答
6106 浏览

solr - 如何获取 Solr 文档的大小?

我想知道单个 Solr 文档/响应的字节大小。有没有一种简单的方法来解决这个问题?

我们正在使用 solrj java 客户端。

我环顾四周,只找到了确定索引大小的方法,但没有找到文档本身的大小。

0 投票
1 回答
62 浏览

solr - 按方面限制结果(文档)

我想在第一页的每个方面显示最多 5 个结果(文档)。如何在 Solr 4.x 中实现它

例如,我在电视、音乐系统、书籍等类别中有数以千计的匹配产品(文档)。如果我搜索“音乐”关键字,我应该从所有类别中获得最多 5 个匹配结果(文档)。

提前致谢。

编辑:我想对不在分面列表中的结果(文档)设置限制。这个限制是在每个方面而不是在所有结果上。如果有 3 个类别,则页面上可以显示 15 个结果(文档),如果有 4 个,则最多可以显示 20 个结果(文档)。

0 投票
2 回答
986 浏览

solr - Solr 4.10.1 的 Solr BlockJoin 索引

我正在尝试索引嵌套结构,如下所示,并且很难同时使用 SOlrJ 和 DIH 进行索引。我已经为此奋斗了一段时间,非常感谢您对此的帮助。

如何使用 SolrJ 或 DIH 解决此问题。谢谢

我希望我的数据看起来像我的索引:

“文档”:[

]

我的 schema.xml

SolrJ 尝试

回复

所以我继续添加 id 到 childDocs 制作上述内容

然后重新运行 get-all 查询,现在我得到以下结果

SolrJ Attempt 2 plus get-all 查询

所以我在这里放弃并尝试如下的DIH

db-dataconfig.xml

使用上面的 DIH 完全导入后查询 get-all 并且没有子索引

0 投票
1 回答
1154 浏览

solr - 具有多个单词的 edismax 用于关键字标记器在空间上拆分

我的模式中有两个字段:
field1正在使用keyword标记器过滤器来保留标记原样(甚至不按空间划分。我在分析选项卡中仔细检查了它。)
field2正在使用WhitespaceTokenizerFactory它破坏空格和选项卡等上的单词。

<field name="field1" type="field1_type" indexed="true" stored="false"/>
<field name="field2" type="field2_type" indexed="true" stored="false"/>
<fieldType name="field2_type" class="solr.TextField"> <analyzer type="index"> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory" /> </analyzer> <analyzer type="query"> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory" /> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> </analyzer> </fieldType>

我正在使用edismax默认qf值=的解析器field1 field2
现在当我q=hello world
在调试模式下查询时,它显示它的查询就像

原始查询字符串:你好世界

查询字符串:hello world parsedquery :(+((DisjunctionMaxQuery((field1:hello | field2:hello)) DisjunctionMaxQuery((field1:world | field2:world)))~1) ())/no_coord

parsedquery_toString :+(((field1:hello | field2:hello) (field1:world | field2:world))~1) ()


我所期望的是这样的:

预期:+(((field1:hello world) ((field2:hello) (field2:world))~1) ()


即因为field1它不应该破坏空间查询,因为它正在使用关键字标记器,而它应该破坏空间查询field2。你能告诉我我做错了什么吗?