小编ses*_*mic的帖子

java.sql.SQLException:字符串值不正确:'\ xF3\xBE\x8D\x81'

我在尝试保存一些推文时收到以下异常,

引起: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)

java mysql utf-8

13
推荐指数
2
解决办法
2万
查看次数

Solr搜索主题标签或提及

我们使用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)

solr

13
推荐指数
1
解决办法
3803
查看次数

org.hibernate.AssertionFailure

我的线程执行时有时会遇到这个奇怪的错误.这可能与什么有关?

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)

hibernate transactions

10
推荐指数
1
解决办法
3万
查看次数

Tomcat应用程序生成太多日志

我有一个应用程序,它运行在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)

java logging tomcat6

6
推荐指数
1
解决办法
4786
查看次数

Solr:org.apache.solr.common.SolrException:无效的日期字符串:

我是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,签名(分类)为来自的情绪

我为什么要进行此时区转换是因为我需要按用户时区对结果进行分组.我怎样才能实现这一目标?

此致,罗希特

solr convert-tz

6
推荐指数
2
解决办法
9704
查看次数

准备好的声明不会逃避撇号

我正在使用从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)

java hibernate jdbc prepared-statement

5
推荐指数
1
解决办法
9774
查看次数

MySql性能建议

我不是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)

mysql performance mysql-management

0
推荐指数
1
解决办法
446
查看次数