gpt4 book ai didi

ruby-on-rails - 为什么我的mongo rails应用程序中的Elasticsearch索引没有更新?

转载 作者:行者123 更新时间:2023-12-02 23:06:22 24 4
gpt4 key购买 nike

我在Rails 3.2 mongo应用程序中使用了轮胎 gem ,但是 flex 搜索没有更新。我在下面包括了我的问题模型。

class Question

include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Paranoia

field :question, :type => String
field :answer, :type => Array
field :tags, :type => Array
field :views, :type => Integer, :default => 0

include Tire::Model::Search
include Tire::Model::Callbacks

mapping do
indexes :question, :analyzer => 'snowball', :boost => 100
indexes :tags, :analyzer => 'keyword'
end

end

我通过运行 Question.create(:question => "What day is it?", :answer => "Monday")来创建新问题,当我搜索 Question.tire.search( "What day is it?" )时不会出现。出现了一些较早的问题,但似乎没有新问题添加到索引中。

更新

日志中显示以下错误消息:
[2012-05-14 19:42:41,725][DEBUG][action.index             ] [Century, Turner] [questions][4], node[JKD6HjRKQuqgwuQyJTl1qA], [P], s[STARTED]: 
Failed to execute [index {[questions][question][4fb1a677e0f5754d2e000004], source[_id=4fb1a677e0f5754d2e000004&answer[]=Monday&created_at=2012-05-14%2019%3A42%3A31%20-0500&deleted_at=&question=What%20day%20is%20it%3F&tags=&updated_at=2012-05-14%2019%3A42%3A31%20-0500&views=0]}]
org.elasticsearch.ElasticSearchParseException: Failed to derive xcontent from (offset=0, length=193): [95, 105, 100, 61, 52, 102, 98, 49, 97, 54, 55, 55, 101, 48, 102, 53, 55, 53, 52, 100, 50, 101, 48, 48, 48, 48, 48, 52, 38, 97, 110, 115, 119, 101, 114, 91, 93, 61, 77, 111, 110, 100, 97, 121, 38, 99, 114, 101, 97, 116, 101, 100, 95, 97, 116, 61, 50, 48, 49, 50, 45, 48, 53, 45, 49, 52, 37, 50, 48, 49, 57, 37, 51, 65, 52, 50, 37, 51, 65, 51, 49, 37, 50, 48, 45, 48, 53, 48, 48, 38, 100, 101, 108, 101, 116, 101, 100, 95, 97, 116, 61, 38, 113, 117, 101, 115, 116, 105, 111, 110, 61, 87, 104, 97, 116, 37, 50, 48, 100, 97, 121, 37, 50, 48, 105, 115, 37, 50, 48, 105, 116, 37, 51, 70, 38, 116, 97, 103, 115, 61, 38, 117, 112, 100, 97, 116, 101, 100, 95, 97, 116, 61, 50, 48, 49, 50, 45, 48, 53, 45, 49, 52, 37, 50, 48, 49, 57, 37, 51, 65, 52, 50, 37, 51, 65, 51, 49, 37, 50, 48, 45, 48, 53, 48, 48, 38, 118, 105, 101, 119, 115, 61, 48]
at org.elasticsearch.common.xcontent.XContentFactory.xContent(XContentFactory.java:147)
at org.elasticsearch.common.xcontent.XContentHelper.createParser(XContentHelper.java:49)
at org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:431)
at org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:417)
at org.elasticsearch.index.shard.service.InternalIndexShard.prepareIndex(InternalIndexShard.java:311)
at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:202)
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:529)
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:427)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)

最佳答案

您是否提供了Tyre的自述文件中概述的to_indexed_json的兼容实现?

class Article
include Mongoid::Document
field :title, :type => String
field :content, :type => String

include Tire::Model::Search
include Tire::Model::Callbacks

# These Mongo guys sure do get funky with their IDs in +serializable_hash+, let's fix it.
#
def to_indexed_json
self.to_json
end

end

关于ruby-on-rails - 为什么我的mongo rails应用程序中的Elasticsearch索引没有更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10592678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com