<classpathentry kind="lib" path="lib/httpcore-4.1.jar"/>
<classpathentry kind="lib" path="lib/httpmime-4.1.1.jar"/>
<classpathentry kind="lib" path="lib/pdfbox-app-1.6.0.jar"/>
- <classpathentry kind="lib" path="/usr/local/Trolltech/qtjambi-linux32-lgpl-4.5.2_01/qtjambi-4.5.2_01.jar"/>
- <classpathentry kind="lib" path="/usr/local/Trolltech/qtjambi-linux32-lgpl-4.5.2_01/qtjambi-linux32-gcc-4.5.2_01.jar"/>
- <classpathentry kind="lib" path="/home/zigzag/workspace/NeighborNote/lib/scribe-1.3.0.jar"/>
+ <classpathentry kind="lib" path="C:/pleiades/workspace/NeighborNote/lib/lucene-core-3.6.2.jar"/>
+ <classpathentry kind="lib" path="C:/pleiades/scribe-1.3.0.jar"/>
+ <classpathentry kind="lib" path="C:/pleiades/qtjambi-win32-lgpl-4.5.2_01/qtjambi-4.5.2_01.jar"/>
+ <classpathentry kind="lib" path="C:/pleiades/qtjambi-win32-lgpl-4.5.2_01/qtjambi-win32-msvc2005-4.5.2_01.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
import cx.fbn.nevernote.gui.ContainsAttributeFilterTable;
import cx.fbn.nevernote.gui.DateAttributeFilterTable;
import cx.fbn.nevernote.gui.ShortcutKeys;
+import cx.fbn.nevernote.sql.DatabaseConnection;
import cx.fbn.nevernote.sql.driver.NSqlQuery;
import cx.fbn.nevernote.utilities.ApplicationLogger;
import cx.fbn.nevernote.utilities.Pair;
//public static int minimumWordCount = 2;
// Regular expression to parse text with when indexing
- private static String wordRegex;
+// private static String wordRegex;
// Experimental fixes. Set via Edit/Preferences/Debugging
public static boolean enableCarriageReturnFix = false;
getServer(); // Setup URL to connect to
// Get regular expressions used to parse out words
- settings.beginGroup("General");
- String regex = (String) settings.value("regex", "[,\\s]+");
- setWordRegex(regex);
- settings.endGroup();
+// settings.beginGroup("General");
+// String regex = (String) settings.value("regex", "[,\\s]+");
+// setWordRegex(regex);
+// settings.endGroup();
//Setup debugging information
settings.beginGroup("Debug");
}
// Get/Set word parsing regular expression
- public static String getWordRegex() {
- return wordRegex;
- }
- public static void setWordRegex(String r) {
- wordRegex = r;
- }
+// public static String getWordRegex() {
+// return wordRegex;
+// }
+// public static void setWordRegex(String r) {
+// wordRegex = r;
+// }
// Set the debug message level
public static void setMessageLevel(String msglevel) {
settings.endGroup();
}
// Get/Set characters that shouldn't be removed from a word
- public static String getSpecialIndexCharacters() {
- settings.beginGroup("Index");
- String text = (String)settings.value("specialCharacters", "");
- settings.endGroup();
- return text;
- }
- public static void setSpecialIndexCharacters(String value) {
- settings.beginGroup("Index");
- settings.setValue("specialCharacters", value);
- settings.endGroup();
- databaseCache = value;
- }
+// public static String getSpecialIndexCharacters() {
+// settings.beginGroup("Index");
+// String text = (String)settings.value("specialCharacters", "");
+// settings.endGroup();
+// return text;
+// }
+// public static void setSpecialIndexCharacters(String value) {
+// settings.beginGroup("Index");
+// settings.setValue("specialCharacters", value);
+// settings.endGroup();
+// databaseCache = value;
+// }
//*****************************************************************************
// Control how tag selection behaves (should they be "and" or "or" selections
}
// 全文検索機能の対象となるテーブルとカラムを再構築
- public static boolean rebuildFullTextTarget(NSqlQuery query) {
+ public static boolean rebuildFullTextNoteTarget(DatabaseConnection dbConn) {
+ NSqlQuery nQuery = new NSqlQuery(dbConn.getConnection());
StringBuilder noteTableTarget = new StringBuilder();
boolean success = true;
noteTableTarget.append("TITLE");
}
- // TODO 他の項目もあとで追加
-
if (noteTableTarget.length() > 0) {
- query.prepare("CALL FTL_CREATE_INDEX('PUBLIC', 'NOTE', :column);");
- query.bindValue(":column", noteTableTarget.toString());
- if (!query.exec()) {
+ nQuery.prepare("CALL FTL_CREATE_INDEX('PUBLIC', 'NOTE', :column);");
+ nQuery.bindValue(":column", noteTableTarget.toString());
+ if (!nQuery.exec()) {
+ success = false;
+ }
+ }
+
+ return success;
+ }
+
+ public static boolean rebuildFullTextResourceTarget(DatabaseConnection dbConn) {
+ NSqlQuery rQuery = new NSqlQuery(dbConn.getResourceConnection());
+ StringBuilder resourceTableTarget = new StringBuilder();
+ boolean success = true;
+
+ if (Global.indexAttachmentsLocally()) {
+ resourceTableTarget.append("RESOURCETEXT");
+ }
+
+ if (resourceTableTarget.length() > 0) {
+ rQuery.prepare("CALL FTL_CREATE_INDEX('PUBLIC', 'NOTERESOURCES', :column);");
+ rQuery.bindValue(":column", resourceTableTarget.toString());
+ if (!rQuery.exec()) {
success = false;
}
}
indexRunner.indexImageRecognition = Global.indexImageRecognition();
// indexRunner.indexNoteBody = Global.indexNoteBody();
// indexRunner.indexNoteTitle = Global.indexNoteTitle();
- indexRunner.specialIndexCharacters = Global.getSpecialIndexCharacters();
+// indexRunner.specialIndexCharacters = Global.getSpecialIndexCharacters();
indexThread.start();
synchronizeAnimationTimer = new QTimer();
indexRunner.indexAttachmentsLocally = Global.indexAttachmentsLocally();
// indexRunner.indexNoteBody = Global.indexNoteBody();
// indexRunner.indexNoteTitle = Global.indexNoteTitle();
- indexRunner.specialIndexCharacters = Global.getSpecialIndexCharacters();
+// indexRunner.specialIndexCharacters = Global.getSpecialIndexCharacters();
indexRunner.indexImageRecognition = Global.indexImageRecognition();
if (Global.showTrayIcon() || Global.minimizeOnClose())
trayIcon.show();
Global.setIndexNoteTitle(indexPage.getIndexNoteTitle());\r
Global.setIndexImageRecognition(indexPage.getIndexImageRecognition());\r
// Global.setAutomaticWildcardSearches(indexPage.getAutomaticWildcardSearches());\r
- Global.setSpecialIndexCharacters(indexPage.getSpecialCharacters());\r
+// Global.setSpecialIndexCharacters(indexPage.getSpecialCharacters());\r
Global.setIncludeTagChildren(appearancePage.getIncludeTagChildren());\r
Global.setDisplayRightToLeft(appearancePage.getDisplayRightToLeft());\r
\r
Global.userStoreUrl = "https://"+debugPage.getServer()+"/edam/user";\r
- Global.setWordRegex(indexPage.getRegex());\r
+// Global.setWordRegex(indexPage.getRegex());\r
Global.setRecognitionWeight(indexPage.getRecognitionWeight());\r
Global.setIndexThreadSleepInterval(indexPage.getSleepInterval());\r
Global.setMessageLevel( debugPage.getDebugLevel());\r
Global.setRensoListItemMaximum(rensoNoteListPage.getRensoListItemMaximum());\r
\r
// 全文検索の対象項目を再設定\r
- NSqlQuery query = new NSqlQuery(conn.getConnection());\r
- query.exec("CALL FTL_DROP_ALL();"); // カラム単位で削除できないので一度全部消して、再構築\r
- Global.rebuildFullTextTarget(query);\r
+ NSqlQuery nQuery = new NSqlQuery(conn.getConnection());\r
+ NSqlQuery rQuery = new NSqlQuery(conn.getResourceConnection()); \r
+ // カラム単位で削除できないので一度全部消す\r
+ nQuery.exec("CALL FTL_DROP_ALL();");\r
+ rQuery.exec("CALL FTL_DROP_ALL();");\r
+ // 再構築\r
+ Global.rebuildFullTextNoteTarget(conn);\r
+ Global.rebuildFullTextResourceTarget(conn);\r
\r
close();\r
}\r
appearancePage.setDisplayRightToLeft(Global.displayRightToLeft());\r
appearancePage.setStartupNotebook(Global.getStartupNotebook());\r
\r
- indexPage.setRegex(Global.getWordRegex());\r
+// indexPage.setRegex(Global.getWordRegex());\r
indexPage.setSleepInterval(Global.getIndexThreadSleepInterval());\r
connectionPage.setSyncInterval(Global.getSyncInterval());\r
\r
private final QCheckBox indexImageRecognition;\r
private final QCheckBox indexTitle;\r
// private final QCheckBox automaticWildcard;\r
- private final QLineEdit specialStrip;\r
+// private final QLineEdit specialStrip;\r
private final QCheckBox indexBody;\r
- private final QLineEdit regexEdit;\r
+// private final QLineEdit regexEdit;\r
\r
public ConfigIndexPage(QWidget parent) {\r
// super(parent);\r
// automaticWildcard = new QCheckBox(tr("Automatically Wildcard All Searches"));\r
// automaticWildcard.setChecked(Global.automaticWildcardSearches());\r
\r
- specialStrip = new QLineEdit();\r
- specialStrip.setText(Global.getSpecialIndexCharacters());\r
+// specialStrip = new QLineEdit();\r
+// specialStrip.setText(Global.getSpecialIndexCharacters());\r
\r
QVBoxLayout attachmentLayout = new QVBoxLayout();\r
attachmentLayout.addWidget(indexBody);\r
attachmentLayout.addWidget(indexImageRecognition);\r
// attachmentLayout.addWidget(automaticWildcard);\r
\r
- QHBoxLayout specialCharLayout = new QHBoxLayout();\r
- specialCharLayout.addWidget(new QLabel(tr("Special Word Characters")));\r
- specialCharLayout.addWidget(specialStrip);\r
- attachmentLayout.addLayout(specialCharLayout);\r
+// QHBoxLayout specialCharLayout = new QHBoxLayout();\r
+// specialCharLayout.addWidget(new QLabel(tr("Special Word Characters")));\r
+// specialCharLayout.addWidget(specialStrip);\r
+// attachmentLayout.addLayout(specialCharLayout);\r
attachmentGroup.setLayout(attachmentLayout);\r
\r
// Index sleep interval\r
sleepGroup.setLayout(sleepLayout);\r
\r
// Regular Expressions for word parsing\r
- QGroupBox regexGroup = new QGroupBox(tr("Word Parse"));\r
- QLabel regexLabel = new QLabel(tr("Regular Expression"));\r
- regexEdit = new QLineEdit();\r
- regexEdit.setText(Global.getWordRegex());\r
-\r
- QHBoxLayout regexLayout = new QHBoxLayout();\r
- regexLayout.addWidget(regexLabel);\r
- regexLayout.addWidget(regexEdit); \r
- regexGroup.setLayout(regexLayout);\r
+// QGroupBox regexGroup = new QGroupBox(tr("Word Parse"));\r
+// QLabel regexLabel = new QLabel(tr("Regular Expression"));\r
+// regexEdit = new QLineEdit();\r
+// regexEdit.setText(Global.getWordRegex());\r
+//\r
+// QHBoxLayout regexLayout = new QHBoxLayout();\r
+// regexLayout.addWidget(regexLabel);\r
+// regexLayout.addWidget(regexEdit); \r
+// regexGroup.setLayout(regexLayout);\r
\r
\r
QVBoxLayout mainLayout = new QVBoxLayout();\r
mainLayout.addWidget(sleepGroup);\r
mainLayout.addWidget(weightGroup);\r
mainLayout.addWidget(attachmentGroup);\r
- mainLayout.addWidget(regexGroup);\r
+// mainLayout.addWidget(regexGroup);\r
mainLayout.addStretch(1);\r
setLayout(mainLayout);\r
\r
public boolean getIndexNoteTitle() {\r
return indexTitle.isChecked();\r
}\r
- public String getSpecialCharacters() {\r
- return specialStrip.text();\r
- }\r
+// public String getSpecialCharacters() {\r
+// return specialStrip.text();\r
+// }\r
public boolean getIndexImageRecognition() {\r
return indexImageRecognition.isChecked();\r
}\r
//*****************************************\r
//* Regex get/set methods \r
//*****************************************\r
- public void setRegex(String s) {\r
- regexEdit.setText(s);\r
- }\r
- public String getRegex() {\r
- return regexEdit.text();\r
- }\r
+// public void setRegex(String s) {\r
+// regexEdit.setText(s);\r
+// }\r
+// public String getRegex() {\r
+// return regexEdit.text();\r
+// }\r
\r
}\r
query2.exec();
}
- // 全文検索のための準備
+ // Apache Luceneを使った全文検索のための準備
query.exec("CREATE ALIAS IF NOT EXISTS FTL_INIT FOR \"org.h2.fulltext.FullTextLucene.init\"");
query.exec("CALL FTL_INIT()");
- Global.rebuildFullTextTarget(query);
+
+ Global.rebuildFullTextNoteTarget(this);
+ }
+
+ // Apache Luceneを使った日本語検索のためのプレーンテキストノートリソースカラムを準備
+ NSqlQuery rQuery = new NSqlQuery(resourceConn);
+ rQuery.exec("select TABLE_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='NOTERESOURCES' and COLUMN_NAME='RESOURCETEXT'");
+ if (!rQuery.next()) {
+ rQuery.exec("alter table noteResources add column resourceText VarChar");
+ rQuery.exec("update noteResources set resourceText = ''");
+
+ // Apache Luceneを使った全文検索のための準備
+ rQuery.exec("CREATE ALIAS IF NOT EXISTS FTL_INIT FOR \"org.h2.fulltext.FullTextLucene.init\"");
+ rQuery.exec("CALL FTL_INIT()");
+
+ Global.rebuildFullTextResourceTarget(this);
}
}
NSqlQuery query = new NSqlQuery(db.getResourceConnection());\r
query.exec("update noteresources set isdirty=false");\r
}\r
+ \r
+ // リソーステキストを更新\r
+ public void updateResourceText(String guid, String text) {\r
+ logger.log(logger.HIGH, "Entering NoteResourceTable.updateResourceText");\r
+ NSqlQuery query = new NSqlQuery(db.getResourceConnection());\r
+ boolean check = query.prepare("Update noteResources set resourceText=:resourceText where guid=:guid");\r
+ if (!check) {\r
+ logger.log(logger.EXTREME, "Update resourceText sql prepare has failed.");\r
+ logger.log(logger.MEDIUM, query.lastError());\r
+ }\r
+ \r
+ query.bindValue(":resourceText", text);\r
+ query.bindValue(":guid", guid);\r
+ \r
+ check = query.exec();\r
+ if (!check) {\r
+ logger.log(logger.EXTREME, "Update resourceText has failed.");\r
+ logger.log(logger.MEDIUM, query.lastError());\r
+ }\r
+ logger.log(logger.HIGH, "Leaving NoteResourceTable.updateResourceText");\r
+ query.exec();\r
+ }\r
}\r
\r
NSqlQuery indexQuery = new NSqlQuery(conn.getIndexConnection());\r
NSqlQuery mergeQuery = new NSqlQuery(conn.getConnection());\r
NSqlQuery deleteQuery = new NSqlQuery(conn.getConnection());\r
- NSqlQuery ftlQuery = new NSqlQuery(conn.getConnection());\r
- ftlQuery.prepare("SELECT N.GUID AS GUID FROM FTL_SEARCH_DATA(:text, 0, 0) FT, NOTE N WHERE FT.TABLE='NOTE' AND N.GUID=FT.KEYS[0]");\r
+ NSqlQuery ftlNoteQuery = new NSqlQuery(conn.getConnection());\r
+ NSqlQuery ftlResourceQuery = new NSqlQuery(conn.getResourceConnection());\r
+ ftlNoteQuery.prepare("SELECT N.GUID AS GUID FROM FTL_SEARCH_DATA(:text, 0, 0) FT, NOTE N WHERE FT.TABLE='NOTE' AND N.GUID=FT.KEYS[0]");\r
+ ftlResourceQuery.prepare("SELECT R.GUID AS GUID FROM FTL_SEARCH_DATA(:text, 0, 0) FT, NOTERESOURCES R WHERE FT.TABLE='NOTERESOURCES' AND R.GUID=FT.KEYS[0]");\r
\r
insertQuery.prepare("Insert into SEARCH_RESULTS (guid) values (:guid)");\r
mergeQuery.prepare("Insert into SEARCH_RESULTS_MERGE (guid) values (:guid)");\r
}\r
}\r
\r
- // luceneによる全文検索\r
- ftlQuery.bindValue(":text", getWords().get(i));\r
- ftlQuery.exec();\r
- while(ftlQuery.next()) {\r
- guid = ftlQuery.valueString(0);\r
+ // luceneによる全文検索 ノートテーブル\r
+ ftlNoteQuery.bindValue(":text", getWords().get(i));\r
+ ftlNoteQuery.exec();\r
+ while(ftlNoteQuery.next()) {\r
+ guid = ftlNoteQuery.valueString(0);\r
if (i==0 || any) {\r
insertQuery.bindValue(":guid", guid);\r
insertQuery.exec();\r
mergeQuery.exec();\r
}\r
}\r
+ // luceneによる全文検索 リソーステーブル\r
+ NSqlQuery rQuery = new NSqlQuery(conn.getResourceConnection());\r
+ ftlResourceQuery.bindValue(":text", getWords().get(i));\r
+ ftlResourceQuery.exec();\r
+ while(ftlResourceQuery.next()) {\r
+ guid = ftlResourceQuery.valueString(0);\r
+ \r
+ // リソースguidからノートguidを算出\r
+ rQuery.prepare("Select noteGuid from noteResources where guid=:guid");\r
+ rQuery.bindValue(":guid", guid);\r
+ rQuery.exec();\r
+ while(rQuery.next()) {\r
+ guid = rQuery.valueString(0);\r
+ if (i==0 || any) {\r
+ insertQuery.bindValue(":guid", guid);\r
+ insertQuery.exec();\r
+ } else {\r
+ mergeQuery.bindValue(":guid", guid);\r
+ mergeQuery.exec();\r
+ }\r
+ }\r
+ }\r
\r
if (i>0 && !any) {\r
deleteQuery.exec("Delete from SEARCH_RESULTS where guid not in (select guid from SEARCH_RESULTS_MERGE)");\r
public final int REINDEXNOTE=3;
public boolean keepRunning;
private final QDomDocument doc;
- private static String regex = Global.getWordRegex();
- public String specialIndexCharacters = "";
+// private static String regex = Global.getWordRegex();
+// public String specialIndexCharacters = "";
// public boolean indexNoteBody = true;
// public boolean indexNoteTitle = true;
public boolean indexImageRecognition = true;
RTFParser parser = new RTFParser();
ParseContext context = new ParseContext();
parser.parse(input, textHandler, metadata, context);
- String[] result = textHandler.toString().split(regex);
- for (int i=0; i<result.length && keepRunning; i++) {
- addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
- }
+// String[] result = textHandler.toString().split(regex);
+// for (int i=0; i<result.length && keepRunning; i++) {
+// addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
+// }
+ updateResourceText(r.getGuid(), textHandler.toString());
input.close();
f.close();
OpenDocumentParser parser = new OpenDocumentParser();
ParseContext context = new ParseContext();
parser.parse(input, textHandler, metadata, context);
- String[] result = textHandler.toString().split(regex);
- for (int i=0; i<result.length && keepRunning; i++) {
- if (interrupt) {
- processInterrupt();
- }
- addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
- }
+// String[] result = textHandler.toString().split(regex);
+// for (int i=0; i<result.length && keepRunning; i++) {
+// if (interrupt) {
+// processInterrupt();
+// }
+// addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
+// }
+ updateResourceText(r.getGuid(), textHandler.toString());
input.close();
f.close();
OfficeParser parser = new OfficeParser();
ParseContext context = new ParseContext();
parser.parse(input, textHandler, metadata, context);
- String[] result = textHandler.toString().split(regex);
- for (int i=0; i<result.length && keepRunning; i++) {
- if (interrupt) {
- processInterrupt();
- }
- addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
- }
+// String[] result = textHandler.toString().split(regex);
+// for (int i=0; i<result.length && keepRunning; i++) {
+// if (interrupt) {
+// processInterrupt();
+// }
+// addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
+// }
+ updateResourceText(r.getGuid(), textHandler.toString());
input.close();
f.close();
PDFParser parser = new PDFParser();
ParseContext context = new ParseContext();
parser.parse(input, textHandler, metadata, context);
- String[] result = textHandler.toString().split(regex);
- for (int i=0; i<result.length && keepRunning; i++) {
- if (interrupt) {
- processInterrupt();
- }
- addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
- }
+// String[] result = textHandler.toString().split(regex);
+// for (int i=0; i<result.length && keepRunning; i++) {
+// if (interrupt) {
+// processInterrupt();
+// }
+// addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
+// }
+ updateResourceText(r.getGuid(), textHandler.toString());
input.close();
f.close();
OOXMLParser parser = new OOXMLParser();
ParseContext context = new ParseContext();
parser.parse(input, textHandler, metadata, context);
- String[] result = textHandler.toString().split(regex);
- for (int i=0; i<result.length && keepRunning; i++) {
- if (interrupt) {
- processInterrupt();
- }
- addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
- }
+// String[] result = textHandler.toString().split(regex);
+// for (int i=0; i<result.length && keepRunning; i++) {
+// if (interrupt) {
+// processInterrupt();
+// }
+// addToIndex(r.getNoteGuid(), result[i], "RESOURCE");
+// }
+ updateResourceText(r.getGuid(), textHandler.toString());
input.close();
f.close();
}
- private void addToIndex(String guid, String word, String type) {
- if (foundWords.contains(word))
- return;
- StringBuffer buffer = new StringBuffer(word.toLowerCase());
- for (int i=buffer.length()-1; i>=0; i--) {
- if (!Character.isLetterOrDigit(buffer.charAt(i)) && specialIndexCharacters.indexOf(buffer.charAt(i)) == -1)
- buffer.deleteCharAt(i);
- else
- break;
- }
- buffer = buffer.reverse();
- for (int i=buffer.length()-1; i>=0; i--) {
- if (!Character.isLetterOrDigit(buffer.charAt(i)))
- buffer.deleteCharAt(i);
- else
- break;
- }
- buffer = buffer.reverse();
- if (buffer.length() > 0) {
- // We have a good word, now let's trim off junk at the beginning or end
- if (!foundWords.contains(buffer.toString())) {
- foundWords.add(buffer.toString());
- foundWords.add(word);
- conn.getWordsTable().addWordToNoteIndex(guid, buffer.toString(), type, 100);
- uncommittedCount++;
- if (uncommittedCount > 100) {
- conn.commitTransaction();
- uncommittedCount=0;
- }
- }
- }
- return;
+// private void addToIndex(String guid, String word, String type) {
+// if (foundWords.contains(word))
+// return;
+// StringBuffer buffer = new StringBuffer(word.toLowerCase());
+// for (int i=buffer.length()-1; i>=0; i--) {
+// if (!Character.isLetterOrDigit(buffer.charAt(i)) && specialIndexCharacters.indexOf(buffer.charAt(i)) == -1)
+// buffer.deleteCharAt(i);
+// else
+// break;
+// }
+// buffer = buffer.reverse();
+// for (int i=buffer.length()-1; i>=0; i--) {
+// if (!Character.isLetterOrDigit(buffer.charAt(i)))
+// buffer.deleteCharAt(i);
+// else
+// break;
+// }
+// buffer = buffer.reverse();
+// if (buffer.length() > 0) {
+// // We have a good word, now let's trim off junk at the beginning or end
+// if (!foundWords.contains(buffer.toString())) {
+// foundWords.add(buffer.toString());
+// foundWords.add(word);
+// conn.getWordsTable().addWordToNoteIndex(guid, buffer.toString(), type, 100);
+// uncommittedCount++;
+// if (uncommittedCount > 100) {
+// conn.commitTransaction();
+// uncommittedCount=0;
+// }
+// }
+// }
+// return;
+// }
+
+ // ノートリソーステーブルのリソーステキストに追加
+ private void updateResourceText(String guid, String text) {
+ conn.getNoteTable().noteResourceTable.updateResourceText(guid, text);
}
private void scanUnindexed() {