我想使用elasticsearch python的_mget API获取具有多个id的文档.
我在es.mget()Elasticsearch对象上使用方法.但是,我不知道提供什么作为身体参数的论据.它应该是逗号分隔的ID列表还是_id提到的文档列表.
我尝试了两种方式,并且一直收到异常:
elasticsearch.exceptions.RequestError
我正在阅读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)
在手册中,还有许多其他例子让我感到困惑.
我希望马尔科和他的朋友能帮助我.
我似乎在内连接中有一个子查询有问题,但是我没有.
有一个m:n表构造,有3个表,其中只有2个与问题相关.
当我像这样创建一个完整的内部联接:
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) 当我问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) 我是新手Clang ASTMatcher.我已经阅读了一些教程并试图获得所有c'tor初始化.
Person(char gender) : m_gender(gender)
^^^^^^^^^^^^^^^^ <= I need to get those codes.
{
...
}
Run Code Online (Sandbox Code Playgroud)
| |-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)