- 當資料庫欄位型態為 TINYINT(1) 時可能發生的問題
由於MySQL資料庫對於此型態欄位優先定位為為儲存 boolean值使用,所以Field 的 FieldType 對於此欄位僅能設定為boolean type 或 string type,但是在某些情況之下為了節省資料庫儲存空間,也會使用此欄位儲存超過0及1的值,但是Field type 卻無法使用 int type 進行解析,如果要解決此問題必需在db-data-config.xml裡面加入
tinyInt1isBit="false"
強制關制solr將TINYINT(1) 解析為boolean值,修改後該對應的field type 就可以使用 int type<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/fusion" user="root" password="root" tinyInt1isBit="false" /> <document> <entity name="table" query="select * from xxxtable" deltaQuery="select Updated from xxxtablewhere Updated > '${dataimporter.last_index_time}'"> <field column="sid" name="sid"/> <field column="TinyintType" name="tinyintType"/> <!-- 假設此欄位是存放TINYINT(1) --> </entity> </document> </dataConfig>
- UTC世界協調時間
import org.joda.time.DateTime; import org.joda.time.DateTimeZone; .... public void someMethod(){ DateTime now = new DateTime(new Date()); DateTime zulu = now.toDateTime(DateTimeZone.UTC); System.out.println(zulu) } 假設台灣時間為 2014-10-06 08:00:00 結果輸出UTC時間及格式為: 2014-10-06T00:00:00.000Z
另外由於建立的索引都是以UTC時間為主,所以在Solr主控台中所看到的時間都會比台灣時間慢8個小時,當然在主控台下查詢語句時,記得要減8個小時。
2014年10月27日 星期一
Solr_999_注意事項
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言