【问题标题】:Connect Django app with Elasticsearch using Haystak使用 Haystak 将 Django 应用程序与 Elasticsearch 连接起来
【发布时间】:2018-01-03 04:28:27
【问题描述】:

我正在创建一个包含数百万数据的 Django 应用程序。因此,为了获得更好的结果,我尝试使用 Elasticsearch 来存储数据。我也在尝试使用 Haystack 进行搜索。但目前我陷入了通过 Haystack 将 Django 应用程序与 Elasticsearch 连接的过程中。

我的数据库配置是:

'default': {
        'ENGINE': 'django_elasticsearch',
        'NAME': 'test',
        'USER': '',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '9200',
        'SUPPORTS_TRANSACTIONS': False,
    },

在 settings.py 文件中,我安装了 haystack 和 elasticsearch 应用程序。 我还根据 settings.py 中的文档复制了 Haystack 设置。

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.elasticsearch2_backend.Elasticsearch2SearchEngine',
        'URL': 'http://127.0.0.1:9200/',
        'INDEX_NAME': 'haystack',
    },
}

elasticsearch 完美运行

{
  "name" : "TN1nVS-",
  "cluster_name" : "elasticsearch_manishojha",
  "cluster_uuid" : "zZQxFpkCT8qUO_GVVQAmHA",
  "version" : {
    "number" : "5.5.1",
    "build_hash" : "19c13d0",
    "build_date" : "2017-07-18T20:44:24.823Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

现在所需要的只是应用程序和elasticsearch之间的连接。

【问题讨论】:

    标签: django elasticsearch django-haystack


    【解决方案1】:

    Haystack does not support 还有 Elasticsearch v5.5.1。 您必须回滚到 Elasticsearch v2.4.1 并通过 pip(或任何包管理器)添加包 elasticsearch2-haystack,以便将 Elasticsearch v2x 引擎移植到 haystack。之后设置将是

    HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'elasticsearch2_backend.ElasticsearchSearchEngine',
        'URL': 'http://127.0.0.1:9200/',
        'INDEX_NAME': 'haystack',
    },
    

    }

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2011-09-18
      • 1970-01-01
      • 2017-03-09
      • 2015-12-11
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多