我有一个系统(用Python开发),它接受日期时间作为VARIOUS格式的字符串,我必须解析 它们.目前日期时间字符串格式是:
Fri Sep 25 18:09:49 -0500 2009
2008-06-29T00:42:18.000Z
2011-07-16T21:46:39Z
1294989360
Run Code Online (Sandbox Code Playgroud)
现在我想要一个通用的解析器,可以在适当的datetime对象中转换任何这些日期时间格式...
否则,我必须单独解析它们.所以请同时提供单独解析它们的方法(如果没有通用解析器).. !!
我正在使用elasticsearch 2.3.我们知道ES使用其TF/IDF算法和其他计算为每个文档提供分数.这可能在1-100的范围内.
现在让我们假设每个文档都有一个额外的分数,一个自定义的计算分数,范围从1到1000.
我想使用这个新的自定义分数进行文档排名,但由于ES分数是不确定的,因为它的范围可以从1到100(给定的单词数匹配,字段等),因此规范化新的自定义分数并添加到ES分数不会工作.(以下样本)
有没有使用其他自定义分数但不忽略ES分数的解决方案?
样本数据
注意:这里我只是将自定义分数添加到ES分数,结果是意外的.
ES查询:anotepad.com/notes/e7t5yh
ES结果:anotepad.com/notes/5h6dtk
你会在结果中看到的是,即使我搜索"32 GB iphone",我也得到了"Apple iphone 64 GB",因为64 GB的自定义分数高于32 GB.
我正在使用Apache Solr ..我有以下场景..:
我的PostGreSQL数据库中有两个表.一个是" 汽车 ".其他是" 经销商 "
现在我有一个汽车的数据配置文件,如下所示:
<document name="offerings">
<entity name="jc_offerings" query="select * from jc_offerings" >
<field column="id" name="id" />
<field column="name" name="name" />
<field column="display_name" name="display_name" />
<field column="extra" name="extra" />
</entity>
</document>
Run Code Online (Sandbox Code Playgroud)
我有一个类似的数据 - " 经销商 "的config.xml .它与汽车具有相同的字段:名称,额外等
现在在我的Schema.xml中,我定义了以下字段:
<fields>
<field name="id" type="string" indexed="true" />
<field name="name" type="name" indexed="true" />
<field name="extra" type="extra" indexed="true" />
<field name="CarsText" type="text_general" indexed="true"
stored="true" multiValued="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>CarsText</defaultSearchField>
<copyField source="name" dest="CarsText"/>
<copyField source="extra" dest="CarsText"/>
Run Code Online (Sandbox Code Playgroud)
现在我想搜索:"其中名称是Maruti"..那么Solr将如何知道是否搜索:::汽车领域:名称或经销商字段"名称".. ?? …
我的rspec测试似乎运行速度非常慢,即使有防护和spork.
Finished in 5.36 seconds
13 examples, 2 failures
Run Code Online (Sandbox Code Playgroud)
我知道我可以做几件事来优化我的测试并减少与数据库的交互,但我强烈怀疑spec_helper设置不正确.我在轨道3.2.11与mongoid.每次运行后数据库清理程序都会清理.
spec_helper.rb
require 'rubygems'
require 'spork'
Spork.prefork do
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
DatabaseCleaner[:mongoid].strategy = :truncation
RSpec.configure do |config|
config.infer_base_class_for_anonymous_controllers = false
config.order = "random"
config.filter_run focus: true
config.filter_run_excluding :remove => true
config.run_all_when_everything_filtered = true
config.include Mongoid::Matchers
config.include Capybara::DSL
ActiveSupport::Dependencies.clear
end
end
Spork.each_run do
Fabrication.clear_definitions
RSpec.configure do |config|
config.before(:each) do
DatabaseCleaner.clean
end
end
end
Run Code Online (Sandbox Code Playgroud)
更新:问题出在我的一个测试中.这需要3秒钟.请查看@Sam Peacey的答案,了解我用于获得以下结果的命令
Dynamic Model should …Run Code Online (Sandbox Code Playgroud) ruby-on-rails spork rspec-rails ruby-on-rails-3 database-cleaner
我正在使用apache Solr搜索我的数据库.. !!
假设我已经从我的一个表中索引了4列.. !! ..我只是想要只返回包含我的查询词的那些列作为响应.. !! ..是可能的.. ??
例如 :
我有一个带列的桌车:名字,displayName,描述,额外 .. !!
现在我进行查询,例如:
localhost:8983/solr/select?q=maruti&wt=json
Run Code Online (Sandbox Code Playgroud)
现在有些行中只有名称 可能包含" maruti " 这个词
所以,作为回报,我只想要名称(以及其他一些固定字段,如ID)..
同样,如果描述包含这个词,那么只应该返回描述 ..而不是其他列.. !!
我怎么能实现这个.. ??
我正在使用骡子.我有一个JAVA对象,从我的内部类填充..它实际上是一个HashMap<String,Object>.Object可以是任何东西..另一个HashMap,或其他List..现在我必须将其转换为JSON(并删除所有那些值为NULL的键)..
当我使用给定的Mule Transformer时ObjectToJSON,它正在转换为适当的JSON ..但是无法删除NULL值.并且我找不到要在Custom-transformer中设置的任何属性,这将删除NULL值.. !!
那么,我写了一个自定义变换器,使用该net.sf.json-lib库,我能够删除NULL值.
但是在我的一个JAVA对象中,我有一个HashMap<Integer,String>,因为在JSON对象中,Integer不能是键,net.sf.json库给出了一个例外:
Exception stack is:
1. JSON keys must be strings. (java.lang.ClassCastException)
net.sf.json.JSONObject:1120 (null)
2. java.lang.ClassCastException: JSON keys must be strings. (net.sf.json.JSONException)
net.sf.json.JSONObject:1160 (null)
3. java.lang.ClassCastException: JSON keys must be strings. (net.sf.json.JSONException). Message payload is of type: HashMap (org.mule.api.transformer.TransformerMessagingException)
Run Code Online (Sandbox Code Playgroud)
所以它无法将其转换为JSON ..
那么什么是最可行的选择.. ??