Создать индекс Elasticsearch в существующей реляционной базе данных sqlite - PullRequest
0 голосов
/ 13 ноября 2018

Я строю веб-поиск текста, используя Python и колбу.У меня есть существующая база данных sqlite3.db, где в моей таблице «Post» я хочу выполнить поиск по индексу Blogpost в «теле».Я использую sqlalchemy.

models.py

class Post(SearchableMixin, db.Model):
   __searchable__ = ['body']   
   id = db.Column(db.Integer, primary_key=True)   
   body = db.Column(db.String(140))

Например, тело содержит «Управление проектами», «Инженерное управление», «Система управления» и «Системная инженерия» с id = 1, 2, 3 и 4 соответственно и т.д ..?Мой вопрос заключается в том, как мы можем создать index или использовать метод reindex () в существующих sqlite db или mysql?

Это процедура?в примере это index = 'Post'?

from elasticsearch import Elasticsearch
es=Elasticsearch('http://localhost:9200 ')
es.index(index='Post',doc_type='Post',id=1,body={'text':'Project Management'})
es.index(index='Post',doc_type='Post',id=2,body={'text':'Engineering Management'})
es.index(index='Post',doc_type='Post',id=3,body={'text':'Management System'})
es.index(index='Post',doc_type='Post',id=1,body={'text':'System Engineering'})

Спасибо за предложения.

1 Ответ

0 голосов
/ 15 ноября 2018

Для существующей реляционной базы данных, чтобы создать индекс, перейдите к терминалу оболочки фляги.

Post.reindex()

И индексы будут созданы ..

...