我在尝试保存一些推文时收到以下异常,
引起:java.sql.SQLException:错误的字符串值:'\ xF3\xBE\x8D\x81'表示com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)第1行第1行的列'twtText' .mysql.jdbc.SQLError.createSQLException(SQLError.java:956)位于com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)的com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)at at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)位于com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)的com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)在com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)的com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2019)com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1937)位于org.hibernate.id的org.hibernate.id.IdentityGenerator $ GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)的com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1922) .insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
我的表结构如下,所有列都是UTF-8格式,
CREATE TABLE `tblkeywordtracking` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`word` varchar(200) NOT NULL,
`tweetId` bigint(100) NOT NULL,
`twtText` varchar(800) DEFAULT NULL,
`negTwtText` varchar(1000) DEFAULT NULL,
`language` text,
`links` text,
`negWt` double DEFAULT NULL,
`posWt` double DEFAULT NULL,
`tweetType` varchar(20) DEFAULT NULL,
`source` text,
`sourceStripped` text,
`isTruncated` varchar(40) CHARACTER SET latin1 DEFAULT NULL,
`inReplyToStatusId` bigint(30) DEFAULT NULL,
`inReplyToUserId` int(11) DEFAULT NULL,
`isFavorited` varchar(40) CHARACTER SET latin1 DEFAULT NULL,
`inReplyToScreenName` varchar(40) DEFAULT …Run Code Online (Sandbox Code Playgroud) 我们使用solr版本3.5来搜索推文,我使用WordDelimiterFactory以下设置,以便能够搜索@username或#hashtags:
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" splitOnNumerics="0" preserveOriginal="1" handleAsChar="@#"/>
Run Code Online (Sandbox Code Playgroud)
我看到了以下补丁,但这似乎没有像我预期的那样工作,我错过了什么?
https://issues.apache.org/jira/browse/SOLR-2059
但是搜索@username也#hashtag只返回用户名的结果,或者只返回hastag的结果.我怎样才能做到这一点?
整个字段类型:
<fieldType name="textnostem" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
splitOnCaseChange="0"
splitOnNumerics="0"
preserveOriginal="1"
/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
splitOnCaseChange="0"
splitOnNumerics="0"
preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer> …Run Code Online (Sandbox Code Playgroud) 我的线程执行时有时会遇到这个奇怪的错误.这可能与什么有关?
2011-Jun-25 09:05:22,339 ERROR AssertionFailure:45 - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: null id in com.inrev.bm.bean.IRKeyWordTweet entry (don't flush the Session after an exception occurs)
at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:78)
at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:187)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:143)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at com.inrev.bm.streaming.IRKeyWordStreaminThread.run(IRKeyWordStreaminThread.java:119)
Run Code Online (Sandbox Code Playgroud)
我的插入代码,
Transaction tx = null;
Session session = sessionFactory.openSession();
tx = session.beginTransaction();
int count = 0;
try
{ …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,它运行在linux ubuntu服务器上的tomcat 6.0.20服务器上.
它在catalina.out文件夹中生成大量日志,其中大部分是在使用应用程序时生成的,但不是由应用程序生成的.
它生成的一些日志如下,
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE: startElement(,,mime-type)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE: Pushing body text '
'
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE: New match='web-app/mime-mapping/mime-type'
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester startElement
FINE: Fire begin() for CallParamRule[paramIndex=1, attributeName=null, from stack=false]
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester characters
FINE: characters(audio/x-mpeg)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE: endElement(,,mime-type)
Apr 16, 2010 2:55:24 PM org.apache.tomcat.util.digester.Digester endElement
FINE: match='web-app/mime-mapping/mime-type'
Apr …Run Code Online (Sandbox Code Playgroud) 我是solr的新手,这是我第一次尝试索引solr数据,我在索引时得到以下异常,
org.apache.solr.common.SolrException:无效的日期字符串:在org.apache.solr.schema.TrieDateField的org.apache.solr.schema.DateField.parseMath(DateField.java:165)中的'2011-01-07' .orgateField(TrieDateField.java:169)org.apache.solr.schema.SchemaField.createField(SchemaField.java:98)org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:204)org. apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:277)
我从阅读一些文章中了解到Solr只在UTC中存储时间,这是我想要索引的查询,
选择id,文本,'language',链接,tweetType,source,location,bio,url,utcOffset,timeZone,frenCnt,createdAt,createdOnGMT,createdOnServerTime,follCnt,favCnt,totStatusCnt,usrCrtDate,humanSentiment,replyly,replyMsg,classified,locationDetail ,geonameid,country,continent,placeLongitude,placeLatitude,listedCnt,hashtag,mentions,senderInfScr,createdOnGMTDate,DATE_FORMAT(CONVERT_TZ(createdOnGMTDate,'+ 00:00','+ 05:30'),'%Y-%m-% d')作为IST,DATE_FORMAT(CONVERT_TZ(createdOnGMTDate,'+ 00:00','+ 01:00'),'%Y-%m-%d')为ECT,DATE_FORMAT(CONVERT_TZ(createdOnGMTDate,'+ 00) :00','+ 02:00'),'%Y-%m-%d')为EET,DATE_FORMAT(CONVERT_TZ(createdOnGMTDate,'+ 00:00','+ 03:30'),'%Y - %m-%d')作为MET,签名(分类)为来自的情绪
我为什么要进行此时区转换是因为我需要按用户时区对结果进行分组.我怎样才能实现这一目标?
此致,罗希特
我正在使用从hibernate获取的JDBC连接对象来执行浴更新,我这样做是因为我需要使用MySql ON DUPLICATE功能.但是,当试图插入时,我无法插入说字符串有特殊字符,
Session session = sessionFactory.openSession();
PreparedStatement pstm = null;
Connection conn = session.connection();
try
{
IRKeyWordTweet record = null;
conn.setAutoCommit(false);
for (Iterator itrList = statusToInsert.iterator(); itrList.hasNext();)
{
try
{
record = (IRKeyWordTweet) itrList.next();
pstm = (PreparedStatement) conn.prepareStatement("INSERT QUERY");
System.err.println(record.getTwtText());
//tweetId
pstm.setLong(1, record.getTweetId());
Setters For Prepared statement....
pstm.addBatch();
int[] updateCounts = pstm.executeBatch();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
catch (Exception e)
{
log.error("Exception Occured",e);
}
finally
{
try
{
pstm.close();
conn.close();
}
catch (SQLException e) { …Run Code Online (Sandbox Code Playgroud) 我不是MySQL专家,我遇到了问题.我有一个表,目前拥有16GB的数据,它将进一步增长.表格的结构如下,
CREATE TABLE `t_xyz_tracking` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`word` VARCHAR(200) NOT NULL,
`xyzId` BIGINT(100) NOT NULL,
`xyzText` VARCHAR(800) NULL DEFAULT NULL,
`language` VARCHAR(2000) NULL DEFAULT NULL,
`links` VARCHAR(2000) NULL DEFAULT NULL,
`xyzType` VARCHAR(20) NULL DEFAULT NULL,
`source` VARCHAR(1500) NULL DEFAULT NULL,
`sourceStripped` TEXT NULL,
`isTruncated` VARCHAR(40) NULL DEFAULT NULL,
`inReplyToStatusId` BIGINT(30) NULL DEFAULT NULL,
`inReplyToUserId` INT(11) NULL DEFAULT NULL,
`rtUsrProfilePicUrl` TEXT NULL,
`isFavorited` VARCHAR(40) NULL DEFAULT NULL,
`inReplyToScreenName` VARCHAR(40) NULL DEFAULT NULL,
`latitude` BIGINT(100) NOT NULL,
`longitude` BIGINT(100) …Run Code Online (Sandbox Code Playgroud) java ×3
hibernate ×2
mysql ×2
solr ×2
convert-tz ×1
jdbc ×1
logging ×1
performance ×1
tomcat6 ×1
transactions ×1
utf-8 ×1