小编Jas*_*Heo的帖子

如何使用Python Elasticsearch mget()API

我想使用elasticsearch python的_mget API获取具有多个id的文档.

我在es.mget()Elasticsearch对象上使用方法.但是,我不知道提供什么作为身体参数的论据.它应该是逗号分隔的ID列表还是_id提到的文档列表.

我尝试了两种方式,并且一直收到异常:

elasticsearch.exceptions.RequestError

python elasticsearch

8
推荐指数
1
解决办法
3573
查看次数

下一个()在TinkerPop中意味着什么

我正在阅读TinkerPop3 文档

我很困惑的是我找不到任何解释next().

例如,w/next()或w/o next()返回相同的椎骨

gremlin> g.V().has('name', 'marko')
==>v[1]
gremlin> g.V().has('name', 'marko').next()
==>v[1]
Run Code Online (Sandbox Code Playgroud)

但是,班级名称彼此不同.

gremlin> g.V().has('name', 'marko').getClass()
==>class org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal
gremlin> g.V().has('name', 'marko').next().getClass()
==>class org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerVertex
Run Code Online (Sandbox Code Playgroud)

没有'next()',指定的变量没有值.

gremlin> marko = g.V().has('name', 'marko')
==>v[1]
gremlin> marko
Run Code Online (Sandbox Code Playgroud)

甚至,与clockWithResult()输出完全不同.

gremlin> clockWithResult(1){g.V().both().barrier().both().barrier().both().barrier().count().next()}
==>1.079524
==>72
gremlin> clockWithResult(1){g.V().both().barrier().both().barrier().both().barrier().count()}
==>0.11863599999999999
==>[GraphStep([],vertex), VertexStep(BOTH,vertex), NoOpBarrierStep(2147483647), VertexStep(BOTH,vertex), NoOpBarrierStep(2147483647), VertexStep(BOTH,vertex), NoOpBarrierStep(2147483647), CountGlobalStep]
Run Code Online (Sandbox Code Playgroud)

或者这个例子:

gremlin> g.V(1).out('knows').values('name').fold()
==>[vadas, josh]
gremlin> g.V(1).out('knows').values('name').fold().next()
==>vadas
==>josh
Run Code Online (Sandbox Code Playgroud)

在手册中,还有许多其他例子让我感到困惑.

我希望马尔科和他的朋友能帮助我.

titan tinkerpop3

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

INNER JOIN中的子查询(MySQL)

我似乎在内连接中有一个子查询有问题,但是我没有.

  • 服务器:通过UNIX套接字的Localhost
  • 软件:MySQL
  • 软件版本:5.5.32-nmm2-log - (Ubuntu)
  • 数据库客户端版本:libmysql - 5.5.32

有一个m:n表构造,有3个表,其中只有2个与问题相关.

  • 第一个是包含actor的表,标识符:caid.
  • 第二个是跨表连接演员到电影(演员ID:caid,电影ID:id)

当我像这样创建一个完整的内部联接:

SELECT count( * ) AS Count, lastname, firstname
FROM DVDPROFILER_dvd_common_actor
INNER JOIN DVDPROFILER_dvd_actor ON DVDPROFILER_dvd_common_actor.caid = DVDPROFILER_dvd_actor.caid
WHERE DVDPROFILER_dvd_actor.caid > 0
GROUP BY DVDPROFILER_dvd_actor.caid
ORDER BY Count DESC 
Run Code Online (Sandbox Code Playgroud)

我得到的正是我所期待的:顶级演员按照他在任何电影中记入的时间计算,即使多次担任多个角色也是如此.

我的目标是提取有关演员被分析的电影的数量的信息,我认为 - 我很天真 - 它应该像这样简单:

SELECT count( * ) AS Count, lastname, firstname
FROM DVDPROFILER_dvd_common_actor
INNER JOIN
  (SELECT caid
  FROM DVDPROFILER_dvd_actor
  GROUP BY id) AS DVDPROFILER_dvd_actor 
ON DVDPROFILER_dvd_common_actor.caid = DVDPROFILER_dvd_actor.caid
WHERE DVDPROFILER_dvd_actor.caid > 0
GROUP BY …
Run Code Online (Sandbox Code Playgroud)

mysql inner-join subquery

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

我可以在rapidjson中区分Integer和Double类型

当我问rapidjson::Value使用GetType()方法的类型时,它只返回下面的类型:

//! Type of JSON value
enum Type {
    kNullType = 0,      //!< null
    kFalseType = 1,     //!< false
    kTrueType = 2,      //!< true
    kObjectType = 3,    //!< object
    kArrayType = 4,     //!< array
    kStringType = 5,    //!< string
    kNumberType = 6     //!< number
};
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,有没有这样的kIntType也不是kDoubleType(甚至kUintType,kInt64Type中).因此,我不能得到实际值rapidjson::Value.

例如:

if (value.GetType() == rapidjson::kNumberType)
{
    double v = value.GetDouble()        // this?
    unsigned long v = value.GetUInt64() // or this?? …
Run Code Online (Sandbox Code Playgroud)

rapidjson

2
推荐指数
1
解决办法
2376
查看次数

如何使用Clang-AstMatcher获取所有构造函数初始值设定项?

我是新手Clang ASTMatcher.我已经阅读了一些教程并试图获得所有c'tor初始化.

输入代码

Person(char gender) : m_gender(gender)
                      ^^^^^^^^^^^^^^^^ <= I need to get those codes.
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

-ast-dump输出

| |-CXXConstructorDecl 0x4678ad0 <line:9:5, col:45> col:5 Person 'void (char)'
| | |-ParmVarDecl 0x4678a10 <col:12, col:17> col:17 used gender 'char'
| | |-CXXCtorInitializer Field 0x4678dd0 'm_gender' 'int'
     ...
Run Code Online (Sandbox Code Playgroud)

匹配代码

StatementMatcher CtorInitMatcher =
    clang::ast_matchers::ctorInitializer().bind("ctor_init");

...

class LoopPrinter : public MatchFinder::MatchCallback
{
public :
    virtual void run(const MatchFinder::MatchResult& result)
    {
        if (const clang::Stmt* stmt
            = result.Nodes.getNodeAs<clang::Stmt>("ctor_init"))
        {
            std::cout << "===== found: CXXCtorInit. …
Run Code Online (Sandbox Code Playgroud)

clang

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