java - 索引时间字段在 solr 6.1.0 中未建立索引。给出错误为未定义字段 : "event_timestamp"

标签 java apache solr solrj solr4

我运行了 Apache solr 6.1.0。之后,csv 文档也被索引到 solr 6.1.0 中,但用于文档当前索引时间的索引时间戳字段并未被索引。以下是 schema.xml 文件中事件时间戳字段的结构。

<field name="event_timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>

上述内容适用于 apache solr 4.10.1,但在 apache solr 6.1.0 中出现错误,如下所示,

o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: undefined field: "event_timestamp"
        at org.apache.solr.schema.IndexSchema.getField(IndexSchema.java:1231)
        at org.apache.solr.parser.SolrQueryParserBase.getRangeQuery(SolrQueryPar
serBase.java:749)
        at org.apache.solr.parser.QueryParser.Term(QueryParser.java:398)
        at org.apache.solr.parser.QueryParser.Clause(QueryParser.java:186)
        at org.apache.solr.parser.QueryParser.Query(QueryParser.java:107)
        at org.apache.solr.parser.QueryParser.TopLevelQuery(QueryParser.java:96)

        at org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.
java:153)
        at org.apache.solr.search.LuceneQParser.parse(LuceneQParser.java:50)
        at org.apache.solr.search.QParser.getQuery(QParser.java:141)
        at org.apache.solr.handler.component.QueryComponent.prepare(QueryCompone
nt.java:208)
        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(Sea
rchHandler.java:267)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandl
erBase.java:156)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:2036)
        at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:657)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:464)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte
r.java:257)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte
r.java:208)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1668)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
:581)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:548)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
er.java:226)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
er.java:1160)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
511)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
r.java:185)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
r.java:1092)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
ava:141)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Cont
extHandlerCollection.java:213)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColl
ection.java:119)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
.java:134)
        at org.eclipse.jetty.server.Server.handle(Server.java:518)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.jav
a:244)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstra
ctConnection.java:273)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoin
t.java:93)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceA
ndRun(ExecuteProduceConsume.java:246)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exec
uteProduceConsume.java:156)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
l.java:654)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
.java:572)
        at java.lang.Thread.run(Unknown Source)

请帮我解决这个问题。我没有得到新版本 solr 中缺少的内容。

谢谢

最佳答案

它应该可以工作。所以我会集中精力仔细检查它是否确实存在于 Activity 模式中。查看管理 UI 的文件屏幕并检查它是否存在于文件中。另外,查看架构字段并查看它是否出现在下拉列表中。

如果没有,那么您需要检查您的架构是否位于正确的位置,并且核心是否已重新加载以处理它。或者,如果您使用 SolrCloud,则正确的配置已上传到 Zookeeper。

关于java - 索引时间字段在 solr 6.1.0 中未建立索引。给出错误为未定义字段 : "event_timestamp",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39161203/

相关文章:

java - 更新 Jtable 值到 MySql 表

apache - 为什么我的本地 Apache 无法打开 html 页面?

java - 在 Mac OSX 上设置 lucene 时遇到问题

php - Apache 不想在 FIFO(管道)中 fopen 或 fwrite

mongodb - 用于 MongoDB 的 solr 数据导入处理程序

java - 将java变量转换为spring bean

java - HashMap.containsKey() - 如何搜索类?

java - 无法从 JTable 中的列获取正确的值

solr - 海布里斯 : How to exclude Facet Value from the Solr Result

node.js - 通过检查 Node JS 中的 2 个字段从 SOLR 中删除记录