当前位置: 首页 > 知识库问答 >
问题:

在solr 6.1.0中未对索引时间字段进行索引。将错误作为未定义字段:“EVENT_TIMESTAMP”

田琛
2023-03-14

我已经运行了Apache Solr6.1.0。之后,csv文档也会被索引到Solr6.1.0中,但在索引时,用于当前索引的文档时间的时间戳字段不会被索引。下面是schema.xml文件中事件时间戳字段的结构。

<field name="event_timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
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)

谢谢

共有1个答案

谭玄天
2023-03-14

应该管用。因此,我将重点检查它是否实际存在于活动模式中。查看Admin UI的Files屏幕并检查它是否存在于文件中。此外,查看schema字段,看看它是否存在于下拉列表中。

如果不是,那么您需要检查您的模式在正确的位置,并且内核已经重新加载以处理它。或者,如果您使用SolrCloud,正确的配置已经上传到Zookeeper中。

 类似资料:
  • 问题内容: 我正在探索EKL堆栈并遇到问题。 我已经生成了日志,将日志转发到logstash,日志采用JSON格式,因此仅使用Logstash配置中的JSON过滤器将它们直接推入ES,连接并启动指向ES的Kibana。 Logstash配置: 现在,我已经为每天的日志创建了索引,而Kibana高兴地显示了来自所有索引的所有日志。 我的问题是:日志中有许多字段未启用/未在Kibana中进行过滤的索引

  • 问题内容: 让我们考虑以下情况-“文章”文档中有两个字段- content(string)和views(int)。视图字段未建立索引。views字段包含此文章被阅读了多少次的信息。 来自官方文档: 我们还说过文件是不可变的:它们不能更改,只能替换。更新API必须遵守相同的规则。从外部看,似乎我们正在部分更新文档。但是,在内部,更新API仅管理与我们已经描述过的相同的检索- 更改-重新索引过程。 但

  • 问题内容: 这听起来真的很愚蠢,但我无法弄清楚为什么会收到此错误。 我创建了一个选择框,以我的html形式命名为“ query_age”: 在相应的php形式中,我有: 运行页面时,出现此错误: 注意:未定义的索引:第19行的index.php中的query_age 我不明白为什么会这样,我很想知道如何解决它。 问题答案: 我没有看到php文件,但是可能就是这样- 在您的php文件中替换: 与:

  • 问题内容: 这可能是一个非常愚蠢的问题,但是对数据库表中的布尔字段建立索引是否会有很多好处? 在常见情况下,例如标记为“无效”的“软删除”记录,因此大多数查询都包含,这将有助于对该字段进行单独索引,还是应将其与其他常见搜索字段组合在一起?不同的索引? 问题答案: 没有。 您可以对要搜索的字段具有较高的选择性/基数进行索引。几乎所有表都消除了布尔字段的基数。如果有的话,它将使您的写入速度变慢(降低的

  • 问题内容: 直到今天,当我从Windows计算机导入以下代码时,此代码仍有效: 在不带引号的字段中看到换行符-是否需要以通用换行模式打开文件? 如何解决此问题? 问题答案: 很高兴看到csv文件本身,但这可能对你有用,请尝试一下,替换: 与: 或者,使用打开文件universal newline mode并将其传递给csv.reader,例如: 或者,splitlines()像这样使用:

  • 问题内容: 使用以下代码建立索引时,由于找不到未知字段解析器而产生错误: 问题答案: 广场外面,而不是嵌套在- https://www.elastic.co/guide/en/elasticsearch/reference/current/docs- reindex.html