问题标签 [solr]
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.
java - solr 将复数翻译成单数,不想这样
我有一个字段,其中有复数项目,并用作非常具体的定位器,所以我做了一个 solr 搜索类型:文章,并将其翻译成:
类型:文章类型:文章
这真的很令人沮丧,有没有办法我可以禁用它?
lucene - Solr - 向服务器发布“添加”时出错
我将以下内容发布到 Solr 服务器:
我正在使用SolrNet发送文档,这里是代码的摘录(s 是上面的 xml):
当它到达 request.GetResponse 失败并出现以下错误:
base {System.InvalidOperationException} = {“远程服务器返回错误:(500)内部服务器错误。”}
当我在 apache 日志中查看服务器时,它给出了以下原因:
输入块意外结束
这是完整的堆栈跟踪:
2009 年 9 月 17 日上午 10:13:53 org.apache.solr.common.SolrException 日志严重:com.ctc.wstx.exc.WstxEOFException:输入块在 [row,col {unknown-source} 的结束标记中意外结束]:[26,1266] 在 com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1054) 在 com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOB(StreamScanner.java:700) 在 com.ctc。 wstx.sr.StreamScanner.getNextCharFromCurrent(StreamScanner.java:811) 在 com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3211) 在 com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java: 2832) 在 com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) 在 org.apache.solr.handler.XmlUpdateRequestHandler.processUpdate(XmlUpdateRequestHandler.java:148) 在 org.apache.solr.handler。XmlUpdateRequestHandler.handleRequestBody(XmlUpdateRequestHandler.java:123) 在 org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) 在 org.apache.solr.core.SolrCore.execute(SolrCore.java:1204) 在 org .apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303) 在 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain .java:235) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina 的 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)。 core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core。StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) 在 org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process (Http11AprProtocol.java:574) 在 org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527) 在 java.lang.Thread.run(Thread.java:619)109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) 在 org.apache.coyote.http11.Http11AprProtocol $Http11ConnectionHandler.process(Http11AprProtocol.java:574) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527) at java.lang.Thread.run(Thread.java:619)109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) 在 org.apache.coyote.http11.Http11AprProtocol $Http11ConnectionHandler.process(Http11AprProtocol.java:574) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527) at java.lang.Thread.run(Thread.java:619)
请注意 Solr 服务器在以下系统上运行:
Microsoft Windows Server 2003 R2 Apache Tomcat 6
最后这是我的问题:
我发送的 Xml 对我来说看起来不错。有没有人知道为什么 Solr 会抛出这个异常?
谢谢
戴夫
编辑答案如下:
solr - 自定义 Solr Transformer 的类路径
我为 Solr DataImportHandler 编写了一个自定义 Transformer 子类。它在一个 jar 文件中,但我不知道如何让 solr 找到它。
我已经使用自定义转换器的完整路径配置了 data-config.xml 文件:
我已经在我能找到的每个 /lib、/dist 目录中尝试了我的 jar 文件,这让我相信这是依赖文件的问题。如果日志表明无法找到实际的类,那就太好了,但它们非常无用。如果我删除 MyTransformer 规范,dataimporthandler 就可以正常工作。
java - SOLR 在搜索时选择索引
我也在 Nabble 组中发布了这个,但我想在这里可以得到一些建议。
有没有办法让 SOLR 在搜索期间搜索我告诉它的任何索引而不使用多个内核?
我不使用 SOLR 构建我的索引,我使用我自己的 java 类构建它们,但我确实使用 SOLR 稍后搜索它们。在搜索期间告诉 Solr 要访问哪个索引会很好。我也将它们组合在一起,这很有效,但在我的特定情况下存在一些问题,这使得在搜索时发送索引名称/路径更容易解决。
谢谢
drupal-6 - 如何在solr中索引文本区域类型的cck字段:drupal6
我创建了一个名称为filed_desc 的文本区域类型的cck字段,我如何让这个字段在 solr 中建立索引。
我发现这篇文章http://acquia.com/blog/understanding-apachesolr-cck-api,我已经尝试过了,但它没有索引归档,有人可以帮忙。
php - 解析里面有一个卑鄙的PHP数组
我在 php 中得到了 solr 查询的响应。下面是drupal6中apache solr的响应表单,我需要访问Apache_Solr_Document中的id字段,可以帮我解决这个问题。
我可以使用print_r($result);
数组 ( [type] => 书签 [node] => Apache_Solr_Document 对象 ( [_documentBoost:protected] => [_fields:protected] => Array ( [id] => b17692e4ad53/node/274 )))
如果我做print_r($result[node]); 我正进入(状态
Apache_Solr_Document 对象 ( [_documentBoost:protected] => [_fields:protected] => 数组 ( [id] => b17692e4ad53/node/274 ))
从这里我无法弄清楚如何访问 id。
lucene - SOLR - 提升功能(bf)以增加日期最接近现在的文档的分数
我有一个 solr 实例,其中包含从上个月到一年后的“startTime”字段的文档。我想添加一个提升查询/函数来提升 startTime 字段接近当前时间的文档的分数。
到目前为止,我已经看到了很多使用 rord 为较新的文档添加提升的示例,但我从未见过这样的示例。
谁能告诉我该怎么做?
谢谢
search - 为什么应该(或不应该)搜索查询只返回文档 ID?
因此,对于一个新项目,我正在为电子商务网站构建一个系统。我们的想法是从供应商那里进口产品,而不是将它们直接插入到我们的目录中,我们会将所有信息存储在一个暂存区。每个供应商都有自己的阶段(即数据库中的表),然后我会将多个暂存区域扁平化为单个实体(当前为单个表,但稍后可能会转换为 Sphinx 或 Solr)。然后,我们的经销商将能够搜索暂存产品的相关字段(名称和描述),并显示匹配的产品列表,然后选择将这些产品推送到实时目录中。搜索将查询单个表(展平的暂存区域)。
我的设计要求仅在单个展平表中存储可搜索和可过滤的字段 - 例如名称、描述、供应商 ID、供应商产品 ID 等。搜索查询将仅返回匹配项目的 ID 和用于的类 (supplier_id)确定产品来自哪个暂存区。
另一位高级工程师认为扁平化的搜索表应该包括其他元字段(不会被搜索),但可以在将产品从舞台“推送”到实时目录时使用。他还认为查询应该返回所有这些其他信息。
我对仅在展平表中具有可搜索字段并让搜索仅返回可用于获取有关产品的所有其他必要元数据的类/id 对的感觉非常强烈(简单的 select * from class_table where id in (1,2 ,3))。
我的部分理由是,这将使以后更容易将扁平表从数据库切换到像 sphinx 或 solr 这样的搜索服务器,并且不必仅仅因为搜索的实现发生更改而更改其余代码。
我在正确的道路上吗?我如何说服其他工程师为什么只保留可搜索字段并只返回 ID 很重要?或者更具体地说,为什么搜索应用程序应该只返回对象的 ID?
apache - 如何从 Solr 的关键字字段中搜索一组关键字?
所以我有一个关键字字段,这个模式索引、标记、多值、存储的 TermVector、省略规范
然后我想针对它搜索一组关键字
q=keyword:keyword1、keyword2、keyword3等
并希望返回最匹配的关键字,即使 1 个匹配关键字也可以,但按最匹配排序。
谢谢你
solr - 如何减少solr内存使用?
我在我的应用程序中使用 solr,只有数百个文档。内存使用量在80M左右,如何减少呢?