我希望在单MySQL
个应用中使用ElasticSearch
和Haystack
Django
。我们的应用程序处理一组包含300多个表的大量关系数据,而MySql是提供服务的最佳选择。但我们希望快速搜索少数几列表格的数列。
在Django中是否可以使用MySQL作为主要数据存储并使用ElasticSearch进行搜索相关查询? 我在互联网上搜索但找不到任何相关信息。
答案 0 :(得分:1)
是的,绝对有可能。我自己用elasticSearch后端和mysql DB实现了haystack。以干草堆文档为出发点 http://django-haystack.readthedocs.org/en/v2.4.1/tutorial.html
只需安装haystack,将其添加到已安装的应用中即可。然后,您需要将弹性搜索定义为后端。 之后,创建搜索索引并添加要搜索的字段。 我不确定你的困惑是什么,通过教程,非常直接。
答案 1 :(得分:0)
是的,我们可以在单个document.getElementById("toRed").style.backgroundColor = "red";
项目中配置MySQL
和ElasticSearch
。首先从Django
安装django-haystack
和pyelasticsearch
个包。
pip
在sudo pip install django-haystack
sudo pip install pyelasticsearch
中,将settings.py
添加到'haystack'
并配置HAYSTACK_CONNECTIONS,如:
INSTALLED_APPS
创建一个继承HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://<ip-of-redis-server>:9200/',
'TIMEOUT': 60 * 5,
'INCLUDE_SPELLING':True,
'INDEX_NAME': '<name-of-index>'
}
}
和hystack.indexes.SearchIndex
类的类。在下面的示例代码中,在hystack.indexes.Indexable
model:
MyModelClass
有关详细信息,请参阅HayStack文档。