def add_doc(self, news_id, title=None, content=None): """增加文件 """ writer = self._ix.writer() news_id = util.str2unicode(news_id) title = util.str2unicode(title) content = util.str2unicode(content) writer.update_document(news_id=news_id, title=title, content=content) writer.commit()
def add_many_docs(self, news_list=None): """增加许多文件 """ if news_list: writer = self._ix.writer() for news in news_list: try: news_id = news['news_id'] title = news['title'] content = news['content'] news_id = util.str2unicode(news_id) title = util.str2unicode(title) content = util.str2unicode(content) writer.update_document(news_id=news_id, title=title, content=content) except Exception, e: stack = traceback.format_exc() logging.error("add doc error:%s\n%s" % (e, stack)) writer.commit()
def search(self, query_string, limit=10): """搜索文件 """ # refresh searcher query_string = util.str2unicode(query_string) query = self._parser.parse(query_string) search_results = self._searcher.search(query, limit=limit) # 设置highlight属性 search_results.formatter = self._formatter search_results.fragmenter.maxchars = self._fragmenter_maxchars search_results.fragmenter.surround = self._fragmenter_surround return search_results