我在Titan上使用Elastic Search。如何用泰坦在ES中进行分页?
我看到了这个,所以尝试了这个:
Iterable<Result<Vertex>> vertices = g.indexQuery("search","v.testTitle:(mytext)")
.addParameter(new Parameter("from", 0))
.addParameter(new Parameter("size", 2)).vertices();
for (Result<Vertex> result : vertices) {
Vertex tv = result.getElement();
System.out.println(tv.getProperty("testTitle")+ ": " + result.getScore());
}
事情是它返回所有4-5个记录,而不是2的大小
参数尚不支持。该方法仅存在于将来的实现中。但是,您目前可以限制结果。下面的代码应该工作:
Iterable<Result<Vertex>> vertices = g.indexQuery("search","v.testTitle:(mytext)")
.limit(2).vertices();
for (Result<Vertex> result : vertices) {
Vertex tv = result.getElement();
System.out.println(tv.getProperty("testTitle")+ ": " + result.getScore());
}
…但是您不能指定偏移量。
干杯,丹尼尔
问题内容: 我正在使用Elasticsearch构建URL索引。 我将一个URL提取为3个部分,分别是“域”,“路径”和“查询”。 例如:将分为 当我想在索引中部分搜索域时出现问题,例如“ user = who”或“ ing.com”。 甚至在索引时没有使用“ Analyzer”时,是否可以使用“ Analyzer”? 如何基于分析仪进行部分搜索? 非常感谢你。 问题答案: 2种方法: 1.通配符
问题内容: 我在ElasticSearch字段中有一个我不想分析的字段,即应逐字存储和比较它。这些值将包含字母,数字,空格,破折号,斜杠以及其他字符。 如果我在此字段的映射中未提供分析器,则默认值仍会使用标记程序,该标记程序会将我的逐字字符串分成大量单词。我不要 是否有一个超级简单的分析器,基本上不分析?还是有另一种方式表示不应分析此字段? 我只创建索引,我什么也没做。我可以在其他字段中使用“英语
问题内容: 我有一个类似于http://drive.google.com的链接,并且我想在该链接之外匹配“ google”。 我有: 但这仅在整个文本为“ google”时才匹配(不区分大小写,因此也匹配Google或GooGlE等)。如何匹配另一个字符串中的“ google”? 问题答案: 关键是您使用的ElasticSearch正则表达式需要 完整的字符串匹配 : Lucene的模式总是锚定的
问题内容: 我正在使用以下代码加载Titan: 用gradle加载依赖项: 我的项目目录是: / home / ray / IdeaProjects / BAG-Graph数据库的拜占庭容错体系结构/ 我的泰坦在该项目目录的“ TITAN”文件夹中。这就是我在Directory变量中设置的内容。 仍然在启动时总是崩溃: 我的gradle文件: 问题答案: 您应该对Titan依赖项更加具体,以免出现
我在ES上运行查询,但参数的数量正在增加(由于业务原因)。 根据Spring数据弹性搜索中的文档,您可以使用和有序参数,如,等,用于方法签名中给出的参数,但这种方法似乎有点不舒服 是否可以进行类似于的查询,换句话说,使用SpEL访问参数属性? 而不是以一系列参数的方法结束,比如 更像jpa使用的spring数据 或者是否有其他方法可以在不离开spring数据接口的情况下进行查询?
问题内容: 我正在尝试使用 Java 和 Elasticsearch 进行Elasticsearch搜索。elasticsearch为Java提供了API,这很酷。 问题是,我希望在Java中创建一个方法,该方法接收一个字符串(应该是一个包含用于搜索的信息的JSON),该字符串反映此对Elasticsearch的HTTP调用 但是我希望这种方法尽可能通用。 所以问题是: 是否可以使用Java AP