首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索功能不返回任何结果

搜索功能不返回任何结果
EN

Stack Overflow用户
提问于 2015-10-14 05:31:23
回答 2查看 1.2K关注 0票数 2

我正在使用Neo4j.rb和搜索踢一个红宝石rails应用程序。

我有以下课程

代码语言:javascript
复制
class NeoUser 
  include Neo4j::ActiveNode

  searchkick

  property :first_name, type: String
  property :last_name, type: String
  property :email, type: String

  has_many :out, :neo_users, rel_class: Following

end

在rails控制台中,我这样做:

代码语言:javascript
复制
 NeoUser.reindex

然后:

代码语言:javascript
复制
result = NeoUser.search "*"

我得到一个空数组:即result.size给我0

我的Neo4j数据库中确实有数据运行在localhost上:7000

我让我的elasticsearch服务器在本地主机上运行:9200

NeoUser.find_by()确实给出了正确的结果,因此我无法理解为什么搜索函数会失败。

有什么想法吗?

编辑:

NeoUser.reindex的输出:

代码语言:javascript
复制
 CYPHER 36ms MATCH (n:`NeoUser`) RETURN n ORDER BY n.uuid LIMIT   {limit_1000} | {:limit_1000=>1000}
 => true 

版本

neo4j (5.2.9)

新4j-核心(5.1.6)

弹性搜索(1.0.13)

elasticsearch-api (1.0.13)

elasticsearch-运输(1.0.13)

搜索(0.9.1)

这与我在我的ubuntu机器中安装了elasticsearch版本1.7.2有什么关系吗?

编辑2 :

我看到,当我使用控制台创建数据时,搜索函数能够返回数据。

因此,我猜searchkick无法访问我在本地主机9200中运行的原始neo4j数据库。

但是NeoUser.all确实返回了我的所有数据节点,所以我如何告诉searchkick使用特定的数据库,或者还有其他问题?

EN

回答 2

Stack Overflow用户

发布于 2015-10-14 07:26:43

太奇怪了。我试着在本地复制,但对我来说很管用。你的neo4j/neo4j-core/searchkick版本是什么?

一种建议是,您可以尝试将您的searchkick行放在属性下面,以防它需要看到它们来搜索。

此外,当您执行NeoUser.reindex时,您会看到什么样的输出?您有多少NeoUser节点?

票数 0
EN

Stack Overflow用户

发布于 2022-10-01 03:47:46

我也有同样的问题,结果是我在搜索3个字符时得到了零的结果,但是如果我输入5个字符,我就会得到结果。我假设这是默认的ES配置。也许这能节省一些时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33117288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档