我使用apache solr 4,我是新手Solr,我想在两个日期之间查询,但我有一个关于时区的问题:如果我想查询一天,我会在今天前一天.
String urlString = "http://localhost:8983/solr";
SolrServer solr = new CommonsHttpSolrServer(urlString);
QueryResponse rsp = solr.query( new SolrQuery("last_modified:[2013-01-03T00:00:00Z TO 2013-01-05T23:59:59Z]") );
SolrDocumentList docs = rsp.getResults();
for(int i=0;i<docs.getNumFound() ; i++) {
System.out.println (docs.get(i).getFieldValue("id"));
}
Run Code Online (Sandbox Code Playgroud)
我搜索了一下,我找到了一个建议:
写+00:00而不是Z. 例如,2002-10-10T12:00:00 + 05:00是2002-10-10T07:00:00Z
但是当我这样做时,我得到了例外:
QueryResponse rsp = solr.query( new SolrQuery("last_modified:[2013-01-03T00:00:00+04:00 TO 2013-01-05T23:59:59+04:00]") );
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决问题?
以下是我的.aspx页面代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="chat.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.6.4.js" type="text/javascript"></script>
<script src="Scripts/json2.js" type="text/javascript"></script>
<script src="Scripts/jquery.signalR-1.0.0-rc2.min.js" type="text/javascript"></script>
<script src="signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var query = window.location.search;
var toRemove = '?id=';
var gorge = query.replace(toRemove, '');
// Proxy created on the fly
var hub = $.connection.chatHub;
$.connection.hub.qs = "Id=" + gorge;
// Start the connection
$.connection.hub.start(function () {
//chat.server.getAllOnlineStatus();
});
});
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="container" class="wrap">
<div id="chatbox" class="chatbox">
<ul id="frndcontact"> …Run Code Online (Sandbox Code Playgroud) 这是我创建的平均程序.
#include <stdio.h>
#include <stdlib.h>
int main()
{
float f1,f2,f3;
/* Program to calculate averages. */
/*Asks for the numbers.*/
printf(" Please enter three numbers.\n");
printf ("\t" "First number please.\n");
scanf("%f", &f1);
printf ("\t" "Second number please.\n");
scanf ("%f", &f2);
printf("\t" "Third number please.\n");
scanf("%f", &f3);
/* Now it averages it.*/
printf(" Thank you, wait one.\n");
printf(" Excellent, your sum is.\n");
printf("%f""\n", f1+f2+f3);
printf("Your average of the sum is now!!!!\n");
printf("%f", (f1+f2+f3)/3);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在我会把它变成干活吗?还是一个if else?
我有一个用Perl编写的简单服务器应用程序.这是它的工作版本.
my $client;
while ($client = $local->accept() ) {
print "Connected: ", $client->peerhost(), ":", $client->peerport(), "\n";
while (<$client>) {
if ($mod_ctr == -1) {
$num_count = $_;
init();
}
elsif ($mod_sayaci % 2 == 0) {
$plus_count = $_;
}
elsif ($mod_sayaci % 2 == 1) {
$minus_count = $_;
eval();
}
last if m/^q/gi;
$mod_sayaci++;
}
print "Server awaits..\n";
}
Run Code Online (Sandbox Code Playgroud)
我很肯定这完美无缺.现在,当我更改我的代码以从客户端获取一个起始字符来确定操作而不是使用mod:
my $client;
while ($client = $local->accept() ) {
print "Connected: ", $client->peerhost(), ":", $client->peerport(), "\n";
$input;
$operation;
$value; …Run Code Online (Sandbox Code Playgroud) 我需要格式化从用户到HTML的文本,但输入是多行,我必须将该字符串中的所有"输入"替换为HTML <br />标记.
String message = messageEditText.getText().toString();
Run Code Online (Sandbox Code Playgroud)
这是我要格式化的消息.如何相应地格式化字符串?
以下两种方法之间是否存在真正的性能,质量或安全性差异?
方法1:
ViewBag.Foo= db.Words.Where(w => w.WordBaseID == 1 && w.LanguageID == lang).FirstOrDefault().Text;
Run Code Online (Sandbox Code Playgroud)
方法2:
var query = "SELECT Text FROM Words WHERE WordBaseID = {0} AND LanguageID = {1}";
ViewBag.Foo= db.Database.SqlQuery<string>(query, 1, lang).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud) SimpleDateFormat df2 = new SimpleDateFormat("dd-MMM-yyyy");
String eDate ="04/26/2013";
Date eDDte;
try {
eDDte = df2.parse(eDate);
System.out.println("Date: " + eDDte);
} catch(ParseException e){
}
Run Code Online (Sandbox Code Playgroud)
注意:我unparseable date error上了第5行.我已经尝试了很多其他格式,但我不知道是什么问题.