小编Sal*_*Din的帖子

将trigram与django 1.10中的排名搜索相结合

我们在django 1.10中搜索,我们需要用trigram搜索进行用户排名搜索.

我们的代码是这样的:

def get_queryset(self):
        search = self.request.GET.get('text', '')
        vector = SearchVector('name',weight='A',
            config=settings.SEARCH_LANGS[
                settings.LANGUAGE
            ],
            ) + SearchVector(
            'content',
            weight='B',
            config=settings.SEARCH_LANGS[
                settings.LANGUAGE
            ],
            )
        query = SearchQuery(search)
        return Article.objects.annotate(
            rank=SearchRank(
                vector,
                query
                ),
            similarity=TrigramSimilarity(
                'name', search
                ) + TrigramSimilarity(
                'content', search
                ),
            ).filter(
            rank__gte=0.3
            ).filter(
            similarity__gt=0.3
            ).order_by(
            '-similarity'
            )[:20]
Run Code Online (Sandbox Code Playgroud)

但是这段代码不会返回任何查询,如果没有使用trigram,我们就会遇到问题,但是,在它们之间我们无法得到查询.

我们如何在django 1.10中组合trigram和排名搜索?

python django postgresql

10
推荐指数
1
解决办法
2257
查看次数

正确拉动edxops /论坛的方式

我正在制作自己的开发工具OpenEdx.

我devstack从edx中取出了官方存储库,我正在修改它.

我正在尝试添加forums到我的堆栈但我无法运行,因为docker compose.

我把它添加到composer文件中:

forums:
    command: bash -c 'source /edx/app/forum/cs_comments_service_env && ruby app.rb -p 18080'
    container_name: edx.devstack.forums
    depends_on:
      #   - xqueue:xqueue
      - mongo
      - elasticsearch
      # - rabbitmq:rabbitmq
      - mysql
      - memcached
    environment:
      CACHE_LOCATION: edx.devstack.memcached:12211
      DB_HOST: edx.devstack.mysql
      TEST_ELASTICSEARCH_URL: "http://edx.devstack.elasticsearch:9200"
    image: edxops/forums:latest
    ports:
      - 4567:4567
Run Code Online (Sandbox Code Playgroud)

我对运行中正确的命令感到困惑:

studio:
    command: bash -c 'source /edx/app/edxapp/edxapp_env && python /edx/app/edxapp/edx-platform/manage.py cms runserver 0.0.0.0:18010 --settings devstack_docker'
Run Code Online (Sandbox Code Playgroud)

这是工作室的命令.

forums:
    command: bash -c 'source /edx/app/forum/cs_comments_service_env && ruby app.rb -p 18080' …
Run Code Online (Sandbox Code Playgroud)

ruby edx docker docker-compose openedx

7
推荐指数
1
解决办法
183
查看次数

使用elasticsearch-dsl-py索引和渗透文档

我正在制作和调查检索信息研讨会.我有一个json带有文章列表的文件,我需要对它们进行索引,并在使用带有突出显示的过滤器之后.

在终端中执行此操作的步骤列表如下:
1.创建具有渗透的地图.

curl -XPUT 'localhost:9200/my-index?pretty' -H 'Content-Type: application/json' -d'
{
    "mappings": {
        "_doc": {
            "properties": {
                "title": {
                    "type": "text"
                },
                "query": {
                    "type": "percolator"
                }
            }
        }
    }
}
'
Run Code Online (Sandbox Code Playgroud)
  1. 索引新文章:

    curl -XPUT 'localhost:9200/my-index/_doc/1?refresh&pretty' -H 'Content-Type: application/json' -d'
    {           
        "CourseId":35,
          "UnitId":12390,
          "id":"16069",
          "CourseName":"ARK102U_ARKEOLOJ?K ALAN YÖNET?M?",
          "FieldId":8,
          "field":"TAR?H",
        "query": {
            "span_near" : {
                "clauses" : [
                    { "span_term" : { "title" : "dünya" } },
                    { "span_term" : { "title" : "miras?" } },
                    { "span_term" : …
    Run Code Online (Sandbox Code Playgroud)

python elasticsearch elasticsearch-dsl elasticsearch-dsl-py

7
推荐指数
1
解决办法
850
查看次数

在 ElasticSearch 中突出显示匹配短语而不是单词短语

我们正在 ElasticSearch 中使用过滤器,我们需要通过短语而不是逐字获得完整的突出显示:

例如,我们有下一个搜索:

curl -X GET "localhost:9200/my-index/_search" -H 'Content-Type: application/json' -d'
{
    "query" : {
        "percolate" : {
            "field": "query",
            "document" : {
                "title" : "A new bonsai tree in the office and jungle. The enojen tree in a kerojen."
            }
        }
    },
    "highlight": {
      "fields": {
        "title": {}
      }
    }
}
'
Run Code Online (Sandbox Code Playgroud)

我们得到下一个输出:

{  
   "took":12,
   "timed_out":false,
   "_shards":{  
      "total":5,
      "successful":5,
      "skipped":0,
      "failed":0
   },
   "hits":{  
      "total":45,
      "max_score":2.1576157,
      "hits":[  
         {  
            "_index":"my-index",
            "_type":"_doc",
            "_id":"2",
            "_score":2.1576157,
            "_source":{  
               "query":{  
                  "match":{  
                     "title":"the enojen tree in …
Run Code Online (Sandbox Code Playgroud)

elasticsearch elasticsearch-percolate

6
推荐指数
1
解决办法
3132
查看次数

如何在 Strapi 中发布关系

我正在尝试对 Strapi API 执行 POST,但似乎无法弄清楚如何附加“具有和属于多”(多对多)关系。

我已经尝试过以下机构:

events: ["ID", "ID"]
name: "name"
Run Code Online (Sandbox Code Playgroud)

&

events: [ID, ID]
name: "name"
Run Code Online (Sandbox Code Playgroud)

我认为,关于文档的哪个应该是正确的。

没有错误,我收到“200 OK”响应。它添加了记录但没有关系。

事件.settings.json:

{
  "connection": "default",
  "collectionName": "events",
  "info": {
    "name": "event",
    "description": ""
  },
  "options": {
    "increments": true,
    "timestamps": [
      "created_at",
      "updated_at"
    ],
    "comment": ""
  },
  "attributes": {
    "name": {
      "type": "string"
    },
    "artists": {
      "collection": "artist",
      "via": "events",
      "dominant": true
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Artist.settings.json:

{
  "connection": "default",
  "collectionName": "artists",
  "info": {
    "name": "artist",
    "description": ""
  },
  "options": { …
Run Code Online (Sandbox Code Playgroud)

javascript sqlite strapi

6
推荐指数
1
解决办法
5592
查看次数

如何在django 1.10中使用`unaccent`进行全文搜索?

我们正在开发一个项目,我们正在使用Django 1.10a1,我们正在使用带有PostgreSQL的django全文搜索,但我们需要使用unaccent.

所以,我有这个代码:

        search = 'Car'
        query_set = Article.objects.annotate(
            search=SearchVector(
                'content',
                'name'
                )
            ).filter(
            search__unaccent=search
        )
Run Code Online (Sandbox Code Playgroud)

当我们尝试在查询不起作用unaccent后添加单词时search.我们怎样才能让django全文搜索与postgress unaccent一起工作?

python django postgresql

5
推荐指数
1
解决办法
1090
查看次数

django 1.10中的自定义设置和wsgi给了我错误

我有运行服务器的自定义设置的这个错误:

 salahaddin@TulipanROG ? ~/Proyectos/tiempoturco/tiempoturco ? (tiempoturco) ? ./manage.py runserver                                                                                                                                           ? ? ? 640 ? 23:22:06 
Performing system checks...

System check identified no issues (0 silenced).
June 19, 2016 - 23:22:07
Django version 1.10a1, using settings 'tiempoturco.settings.dev'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f288d67f2f0>
Traceback (most recent call last):
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/home/salahaddin/Proyectos/tiempoturco/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 142, in inner_run
    handler = self.get_handler(*args, **options)
  File …
Run Code Online (Sandbox Code Playgroud)

python django wsgi

3
推荐指数
2
解决办法
4399
查看次数