在我的rails应用程序中,我使用oauth来访问用户的配置文件数据.事情是当Instagram的授权登录页面弹出时,用户必须输入他的登录详细信息,cookie将保存在我的机器中.有没有办法删除这个cookie(显然不是手动)?我问这个是因为当再次调用oauth页面时,保存在浏览器中的这个cookie会自动登录用户.这已成为我项目的麻烦.我不希望这种情况发生,我希望再次显示相同的登录页面.
我试图找到一种方法来保持我的mysql数据库和elasticsearch数据库同步.我使用jprante/elasticsearch-river-jdbc插件为elasticsearch设置了一个jdbc河.当我执行以下请求时:
curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://localhost:3306/MY-DATABASE",
"user" : "root",
"password" : "password",
"sql" : "select * from users",
"poll" : "1m"
},
"index" : {
"index" : "test_index",
"type" : "user"
}
}'
Run Code Online (Sandbox Code Playgroud)
河流开始索引数据,但对于一些记录我得到org.elasticsearch.index.mapper.MapperParsingException.那么有关于这一问题的讨论在这里,但我想知道的方式来解决这个问题.
是否可以通过为我要编制索引的"类型"的所有"字段" 创建显式映射来永久修复此问题,或者是否有更好的方法来解决此问题?
我的另一个问题是,当jdbc-river再次轮询数据库时,它似乎将整个数据集(在sql查询中给出)重新索引到ES中.我不确定,但是这样做是因为elasticsearch想要添加新数据以及更新现有数据中的任何更改吗?如果表的数据是静态的,是否可以仅索引新数据?
每当我启动我的节点时,我都会收到此错误。怎么了?
[2012-10-12 10:00:38,196][DEBUG][action.admin.indices.status] [Gorgilla] [monitoring][1], node[dbnnA1NOQ1ubysyADvazFg], [P], s[INITIALIZING]:
Failed to execute [org.elasticsearch.action.admin.indices.status.IndicesStatusRequest@968f9] org.elasticsearch.index.**IndexShardMissingException**:
[monitoring][1]
missing at org.elasticsearch.index.service.InternalIndexService.shardSafe(InternalIndexService.java:175) at
org.elasticsearch.action.admin.indices.status.TransportIndicesStatusAction.shardOperation(TransportIndicesStatusAction.java:153) at
org.elasticsearch.action.admin.indices.status.TransportIndicesStatusAction.shardOperation(TransportIndicesStatusAction.java:59) at
org.elasticsearch.action.support.broadcast.TransportBroadcastOperationAction$AsyncBroadcastAction.performOperation
(TransportBroadcastOperationAction.java:234) at org.elasticsearch.action.support.broadcast.TransportBroadcastOperationAction
$AsyncBroadcastAction.performOperation(TransportBroadcastOperationAction.java:211) at
org.elasticsearch.action.support.broadcast.TransportBroadcastOperationAction$AsyncBroadcastAction$1.run(TransportBroadcastOperationAction.java:187) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636)
Run Code Online (Sandbox Code Playgroud)
我的 ES 版本 -> 0.19.0
设置:
ES_HOME/bin/service/elasticsearch.conf file:
set.default.ES_HEAP_SIZE=1024
set.default.ES_MIN_MEM=1048576
set.default.ES_MAX_MEM=1048576
elasticsearch.yml
index.cache.field.type: soft
index.cache.field.max_size: 1000
bootstrap.mlockall: true
index settings:
"number_of_shards":5
"number_of_replicas":1
Run Code Online (Sandbox Code Playgroud) 我使用jdbc河将mysql表数据的所有记录(半百万条记录)索引到elasticsearch中.一切都进行得很好,然后突然河流开始抛出一些奇怪的索引错误,无论何时它试图索引文档.
错误:
[2012-10-10 16:20:11,867][DEBUG][action.bulk] [Man-Wolf] [monitoring][0] failed to bulk item (index) index {[monitoring][mention_reports][70138], source[{"location":null,"wday":6,"monitoring_profile_id":22,"stream_type":"facebook","score":0,"tweet_count":0,"city":null,"to_user_id":0,"sentiment":-1,"post_message":null,"description":null,"location_data_source":null,"video_id":null,"year":2012,"post_name":"Danny Waddell's Photos","video_thumb_url":null,"user_follower":0,"tweet_text":null,"country":null,"content":null,"picture":"http://photos-e.ak.fbcdn.net/hphotos-ak-prn1/547714_507439249282865_1395188712_s.jpg","updated_at":"2012-08-04T16:06:59Z","model_id":82884,"month":8,"day":4,"profile_image_url":null,"result_type":null,"from_user_id":1407391780,"stream":null,"geo_coordinates_long":0.0,"tweet_id":0,"link":null,"state":null,"post_id":"1407391780_227741774015103","model_name":"FacebookSearchResult","id":70138,"title":null,"sub_location_1":null,"user_friends":0,"sub_location_2":null,"from_user":"Stephanie Morris","post_type":"photo","creation_time":"2012-08-04T16:05:20Z","created_at":"2012-08-04T16:06:59Z","to_user":null,"user_pic":"https://graph.facebook.com/1407391780/picture","video_type":"youtube","is_active":1,"caption":"obama will let them die for america but not vote","hour":16,"country_code":null,"duration":0,"positive_keyword":"obama","geo_coordinates_lat":0.0}]}
org.elasticsearch.index.engine.IndexFailedEngineException: [monitoring][0] Index failed for [mention_reports#70138]
at org.elasticsearch.index.engine.robin.RobinEngine.index(RobinEngine.java:482)
at org.elasticsearch.index.shard.service.InternalIndexShard.index(InternalIndexShard.java:323)
at org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:158)
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.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.io.FileNotFoundException: /var/www/elasticsearch-0.19.0/data/elasticsearch/nodes/0/indices/monitoring/0/index/_1pr.tvd (Too many open files)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
at org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:441)
at org.apache.lucene.store.FSDirectory.createOutput(FSDirectory.java:306)
at org.elasticsearch.index.store.Store$StoreDirectory.createOutput(Store.java:418)
at org.elasticsearch.index.store.Store$StoreDirectory.createOutput(Store.java:390)
at org.apache.lucene.index.TermVectorsTermsWriter.initTermVectorsWriter(TermVectorsTermsWriter.java:123)
at org.apache.lucene.index.TermVectorsTermsWriter.finishDocument(TermVectorsTermsWriter.java:143)
at org.apache.lucene.index.TermVectorsTermsWriter$PerDoc.finish(TermVectorsTermsWriter.java:250)
at org.apache.lucene.index.DocFieldProcessorPerThread$PerDoc.finish(DocFieldProcessorPerThread.java:348)
at …Run Code Online (Sandbox Code Playgroud) 这就是我通常在fbml f-connect标签中指定重定向URL的方式
<fb:login-button onlogin='redirect-url'>f-connect</fb:login-button>
如何在登录时指定重定向网址:
<div class="fb-login-button">f-connect</div> ??
我正在尝试使用linkedin ruby api向API端点发送消息:http://api.linkedin.com/v1/people/~/shares但每次我收到此错误:LinkedIn::Errors::AccessDeniedError ((403): Access to posting shares denied).怎么了?
码:
#fetch client object
client = LinkedIn::Client.new('er0xev11ktyj', 'qw7hfgR4wT8Hztpl')
#auth
request_token = client.request_token(:oauth_callback => callback_url)
session[:linkedin_token] = request_token.token
session[:linkedin_secret] = request_token.secret
redirect_to request_token.authorize_url
#inside callback url
atoken,asecret = client.authorize_from_request(session[:linkedin_token], session[:linkedin_secret], params[:oauth_verifier])
#api call for posting message
client.authorize_from_access(atoken, asecret)
client.add_share({:comment => "Hey!"}) #throws error!
Run Code Online (Sandbox Code Playgroud)
我需要指定范围参数吗?如果是,我如何在我的代码中实现这一点?
谢谢
是否可以将jquery源代码中的名称"jQuery"更改为其他名称.我想用这个新名称执行我的jQuery操作.
例如:
jQuery('#something').attr();要
myName('#something').attr();
我怎么做呢?