小编Jes*_*ose的帖子

Solr能否提升社交"喜欢"的数量?

我试图根据"喜欢"数量来订购结果.

最明显的解决方案是为每行设置一个"赞"字段,并为每个点击"喜欢"的用户重新索引文档.但在这种情况下,重新索引大型文档并不实用.


(以下是为了举例:没有涉及大型文件)

理想情况下,我想将Solr中的数据和用户操作索引为单独的行.

数据行(如下所示)是随时间相对稳定.

id:place_1 
title: ela restaurant
meta: sea food, chinese food festival
description: this place...
Run Code Online (Sandbox Code Playgroud)

动作的行各自用户点击"喜欢"时间插入.

id:action_43141
action:like
user:john
target:place_1

id:action_44323
action:like
user:doe
target:place_1
Run Code Online (Sandbox Code Playgroud)

如果每个喜欢存在于自己的行上,我怎么能根据喜欢数量来提升结果呢?


我知道即将到来的Solr 4.0中存在连接http://wiki.apache.org/solr/Join.但它会根据匹配的行改善分数吗?

solr full-text-search scoring

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

如何在Solr中进行层次分割?

如果文档被列为Book> Fiction> Sci-FI,则当您的facet查询为"Book","Book> Fiction","Book> Fiction> Sci-fi"时,它必须是可搜索的.


我搜索了互联网,我想出的方法是:

1在索引时将"书籍>小说>科幻"分为"书籍","书籍>小说","书籍>小说>科幻",并将它们存储在同一个字段中.

2有单独的字段cat,sub_cat,sub_sub_cat.将catogories拆分为相应的字段并使用Pivot facet http://wiki.apache.org/solr/SimpleFacetParameters#Pivot_.28ie_Decision_Tree.29_Faceting


进行层次结构方面的其他方法是什么,以便它们可以支持任何复杂的查询?

solr faceted-search

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

Riak中的链接:与图形数据库相比,它们可以做什么/不做什么?

熟悉的Neo4j将人际关系视为一等公民; 即席查询/遍历,完整性(如果一个节点被删除,链接消失)等.它还将广告作为表示关系以及优于关系数据库连接的唯一机制.

Riak链接表示关系有多强大?它们是否可以用来回答临时查询,例如"为每个收入超过x的人获取爱好列表"朋友的朋友,假设合适的功能如二级索引?通常,它们可以模拟RDBMS中连接输出吗?

它们是否也意味着大量使用,例如社交书签系统,其中有很多人和书签的链接?或者它们是否意味着谨慎使用(所有结构都必须是非循环图)?


在"不做"类别中:

  1. 不强制实施链接完整性
  2. 它无法回答"这个节点的链接是什么?"

riak

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

json.dumps是否保证不会丢失浮点精度?

我说的是JSON转换,如:

>>> a = {'asas': 1/7.0}
>>> b = json.dumps(a)
>>> c = json.loads(b)
>>> c
{u'asas': 0.14285714285714285}
>>> c['asas'] == 1.0/7
True
Run Code Online (Sandbox Code Playgroud)

JSON编码是否保证不会舍入数字?

在我的如何将浮点数作为文本存储而不会丢失精度?马克迪金森说,这repr不会造成精度损失.是否json.dumps使用repr

python

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

HTTP响应代码,用于区分不正确的参数和失败的值

什么是合适的响应代码和消息:

  1. 字段提交方式错误(URL参数与正文)或缺少字段
  2. 字段获取无效值(字符串而不是数字,将来的时间戳)
  3. 一些字符,如?, /URL参数中的破解内容
  4. 实际失败:凭据无效,重复已完成的操作

目前,我们使用400.

rest http

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

将Solr从3.6迁移到4.0,这样做的方法,是否安全?

我们在主从配置中使用Solr 3.6,在100个内核中使用100万个文档,并且需要24小时正常运行时间.我们希望升级到Solr 4.0.


我相信正确的方法是将旧索引的文件系统副本复制到新位置,并使用以下命令配置SolrConfig:

<luceneMatchVersion>LUCENE_33</luceneMatchVersion>
Run Code Online (Sandbox Code Playgroud)

问题1:这会使Solr使用过时的格式吗?这会以在线方式索引转换为4.0格式吗?


问题2:是否有更好的方法需要更少的停机时间来转换索引?我可以从旧服务器复制到新服务器吗?


问题3:任何人都可以确认Solr 4.0是否可以像我们一样安全使用?

solr

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

将十六进制索引拆分为n个部分

我有一个表中的字符串主键一样12a4...,c3af....我想并行处理它们:

process_them(1,4) on machine 1
process_them(2,4) on machine 2
process_them(3,4) on machine 3
process_them(4,4) on machine 4
Run Code Online (Sandbox Code Playgroud)

执行上述操作必须选择表中的所有行,而不需要彼此协调机器.我能想到的最好的想法是将它们分成16个像:

select * from table where id like '1%'
...
select * from table where id like 'e%'
select * from table where id like 'f%'
Run Code Online (Sandbox Code Playgroud)

是否有一个更好的想法,允许我更多的分裂,如总行的1/2,1/4,1/8,1/16,1/32等?

注意:我这样做是为了对用户数据进行夜间处理并向他们发送通知.我没有编辑DB本身的任何内容.而且我们需要一次处理数千个用户,它不能以细粒度的方式进行拆分,因为它不会那么高效.

mysql

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

如何在基于Django类的视图中定义transaction.atomic?

我希望post基于类的视图中的方法是原子的.我已经定义了这个类:

class AcceptWith(View):
    @method_decorator(login_required)
    @method_decorator(user_passes_test(my_test))
    @method_decorator(transaction.atomic)
    def dispatch(self, *args, **kwargs):
        return super(AcceptWith, self).dispatch(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
  1. 它是否正确?
  2. 我可以只使post方法原子化吗?

django

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

匹配任意路径或空字符串,无需添加多个 Flask 路由装饰器

我想捕捉与前缀开头的所有URL /stuff,这样下面的例子匹配:/users/users/,和/users/604511/edit。目前我编写了多个规则来匹配所有内容。有没有办法编写一个规则来匹配我想要的?

@blueprint.route('/users')
@blueprint.route('/users/')
@blueprint.route('/users/<path:path>')
def users(path=None):
    return str(path)
Run Code Online (Sandbox Code Playgroud)

python werkzeug flask

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

在Python中编写OAuth提供程序:指南+库?

我希望在Python中实现OAuth v1提供程序(是的,独立于GAE和Django).我能想到的最好的事情就是使用这个库:

https://github.com/simplegeo/python-oauth2

但它缺少模拟服务器和数据存储之外的文档.有更好的方法:

  • 如何在Python中编写OAuth提供程序的指南?
  • 一个更好的文档和测试库?

python oauth

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