# -*- coding: utf-8 -*-
from django.conf import settings
-from lucene import SimpleFSDirectory, IndexWriter, IndexWriterConfig, CheckIndex, \
+from lucene import SimpleFSDirectory, NIOFSDirectory, IndexWriter, IndexWriterConfig, CheckIndex, \
File, Field, Integer, \
NumericField, Version, Document, JavaError, IndexSearcher, \
QueryParser, PerFieldAnalyzerWrapper, \
"""
def __init__(self):
self.make_index_dir()
- self.store = SimpleFSDirectory(File(settings.SEARCH_INDEX))
+ self.store = NIOFSDirectory(File(settings.SEARCH_INDEX))
def make_index_dir(self):
try:
q = NumericRangeQuery.newIntRange("tag_id", 0, Integer.MAX_VALUE, True, True)
self.index.deleteDocuments(q)
- for tag in catalogue.models.Tag.objects.all():
+ for tag in catalogue.models.Tag.objects.exclude(category='set'):
doc = Document()
doc.add(NumericField("tag_id", Field.Store.YES, True).setIntValue(int(tag.id)))
doc.add(Field("tag_name", tag.name, Field.Store.NO, Field.Index.ANALYZED))
for pdtag in PDCounterBook.objects.all():
doc = Document()
doc.add(NumericField("tag_id", Field.Store.YES, True).setIntValue(int(pdtag.id)))
- print pdtag.title
doc.add(Field("tag_name", pdtag.title, Field.Store.NO, Field.Index.ANALYZED))
doc.add(Field("tag_name_pl", pdtag.title, Field.Store.NO, Field.Index.ANALYZED))
doc.add(Field("tag_category", 'pd_book', Field.Store.YES, Field.Index.NOT_ANALYZED))
self.book_id = int(stored.get("book_id"))
pd = stored.get("published_date")
- if pd is None:
- pd = 0
- self.published_date = int(pd)
+ try:
+ self.published_date = int(pd)
+ except ValueError:
+ self.published_date = 0
header_type = stored.get("header_type")
# we have a content hit in some header of fragment