OSDN Git Service

ns_search: add support for IntField
authorhylom <hylom@users.sourceforge.jp>
Wed, 21 Feb 2018 12:16:45 +0000 (21:16 +0900)
committerhylom <hylom@users.sourceforge.jp>
Wed, 21 Feb 2018 12:16:45 +0000 (21:16 +0900)
src/ns_search/lucene_wrapper/wrapper.py
src/ns_search/newslash_db/stories/stories.py

index b81e274..5be8ea1 100644 (file)
@@ -8,7 +8,7 @@ from org.apache.lucene.index import IndexWriter, IndexWriterConfig, IndexReader
 from org.apache.lucene.search import IndexSearcher
 from org.apache.lucene.analysis.ja import JapaneseAnalyzer, JapaneseTokenizer
 from org.apache.lucene.store import SimpleFSDirectory
-from org.apache.lucene.document import Document as LuceneDocument, Field, TextField, StringField
+from org.apache.lucene.document import Document as LuceneDocument, Field, TextField, StringField, IntField
 from org.apache.lucene.queryparser.classic import QueryParser
 
 def init_vm():
@@ -75,12 +75,16 @@ class Document(LuceneWrapper):
             return Field.Store.YES
         return Field.Store.NO
 
-    def add_string_field(self, name, content, store=True):
-        self.doc.add(StringField(name, content, self._store_flag(store)))
+    def add_string_field(self, name, value, store=True):
+        self.doc.add(StringField(name, value, self._store_flag(store)))
         return self
 
-    def add_text_field(self, name, content, store=True):
-        self.doc.add(TextField(name, content, self._store_flag(store)))
+    def add_text_field(self, name, value, store=True):
+        self.doc.add(TextField(name, value, self._store_flag(store)))
+        return self
+
+    def add_int_field(self, name, value, store=True):
+        self.doc.add(IntField(name, value, self._store_flag(store)))
         return self
 
 
index 4fbe8c2..6dade12 100644 (file)
@@ -12,12 +12,12 @@ class Stories(NewslashDB):
             kwargs["limit"] = self.config("default_limit")
 
         if "stoid" in kwargs:
-            query = ("SELECT stories.stoid, stories.sid, story_text.* FROM stories"
+            query = ("SELECT stories.*, story_text.* FROM stories"
                      "  LEFT JOIN story_text USING(stoid)"
                      "  WHERE stories.stoid = %(stoid)s"
                      "  ORDER BY stories.stoid DESC LIMIT %(limit)s")
         else:
-            query = ("SELECT stories.stoid, stories.sid, story_text.* FROM stories"
+            query = ("SELECT stories.*, story_text.* FROM stories"
                      "  LEFT JOIN story_text USING(stoid)"
                      "  ORDER BY stories.stoid DESC LIMIT %(limit)s")