弹性搜索总是不返回结果

弹性搜索总是不返回结果,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我尝试使用以下说明测试弹性搜索: { "index": { "_index": "movies", "_type": "listings", "_id": "2" } } { "director": "Frankenheimer, John", "genre": ["Drama", "Mystery", "Thriller"], "year": 1962, "actor": ["Lansbury, Angela", "Sinatra, Frank", "Leigh

我尝试使用以下说明测试弹性搜索:

{
   "index": {
    "_index": "movies",
    "_type": "listings",
    "_id": "2"
}
 } {
"director": "Frankenheimer, John",
"genre": ["Drama", "Mystery", "Thriller"],
"year": 1962,
"actor": ["Lansbury, Angela", "Sinatra, Frank", "Leigh, Janet", "Harvey, Laurence", "Silva, Henry", "Frees, Paul", "Gregory, James", "Bissell, Whit", "McGiver, John", "Parrish, Leslie", "Edwards, James", "Flowers, Bess", "Dhiegh, Khigh", "Payne, Julie", "Kleeb, Helen", "Gray, Joe", "Nalder, Reggie", "Stevens, Bert", "Masters, Michael", "Lowell, Tom"],
"title": "The Manchurian Candidate"
 } {
"index": {
    "_index": "movies",
    "_type": "listings",
    "_id": "3"
}
} {
"director": "Baird, Stuart",
"genre": ["Action", "Crime", "Thriller"],
"year": 1998,
"actor": ["Downey Jr., Robert", "Jones, Tommy Lee", "Snipes, Wesley", "Pantoliano, Joe", "Jacob, Ir\u00e8ne", "Nelligan, Kate", "Roebuck, Daniel", "Malahide, Patrick", "Richardson, LaTanya", "Wood, Tom", "Kosik, Thomas", "Stellate, Nick", "Minkoff, Robert", "Brown, Spitfire", "Foster, Reese", "Spielbauer, Bruce", "Mukherji, Kevin", "Cray, Ed", "Fordham, David", "Jett, Charlie"],
"title": "U.S. Marshals"
} {
"index": {
    "_index": "movies",
    "_type": "listings",
    "_id": "4"
}
} {
"director": "Ray, Nicholas",
"genre": ["Drama", "Romance"],
"year": 1955,
"actor": ["Hopper, Dennis", "Wood, Natalie", "Dean, James", "Mineo, Sal", "Backus, Jim", "Platt, Edward", "Ray, Nicholas", "Hopper, William", "Allen, Corey", "Birch, Paul", "Hudson, Rochelle", "Doran, Ann", "Hicks, Chuck", "Leigh, Nelson", "Williams, Robert", "Wessel, Dick", "Bryar, Paul", "Sessions, Almira", "McMahon, David", "Peters Jr., House"],
"title": "Rebel Without a Cause"
 }

当我尝试以上内容并上传说明中的以下文本时:

{
   "index": {
    "_index": "movies",
    "_type": "listings",
    "_id": "2"
}
 } {
"director": "Frankenheimer, John",
"genre": ["Drama", "Mystery", "Thriller"],
"year": 1962,
"actor": ["Lansbury, Angela", "Sinatra, Frank", "Leigh, Janet", "Harvey, Laurence", "Silva, Henry", "Frees, Paul", "Gregory, James", "Bissell, Whit", "McGiver, John", "Parrish, Leslie", "Edwards, James", "Flowers, Bess", "Dhiegh, Khigh", "Payne, Julie", "Kleeb, Helen", "Gray, Joe", "Nalder, Reggie", "Stevens, Bert", "Masters, Michael", "Lowell, Tom"],
"title": "The Manchurian Candidate"
 } {
"index": {
    "_index": "movies",
    "_type": "listings",
    "_id": "3"
}
} {
"director": "Baird, Stuart",
"genre": ["Action", "Crime", "Thriller"],
"year": 1998,
"actor": ["Downey Jr., Robert", "Jones, Tommy Lee", "Snipes, Wesley", "Pantoliano, Joe", "Jacob, Ir\u00e8ne", "Nelligan, Kate", "Roebuck, Daniel", "Malahide, Patrick", "Richardson, LaTanya", "Wood, Tom", "Kosik, Thomas", "Stellate, Nick", "Minkoff, Robert", "Brown, Spitfire", "Foster, Reese", "Spielbauer, Bruce", "Mukherji, Kevin", "Cray, Ed", "Fordham, David", "Jett, Charlie"],
"title": "U.S. Marshals"
} {
"index": {
    "_index": "movies",
    "_type": "listings",
    "_id": "4"
}
} {
"director": "Ray, Nicholas",
"genre": ["Drama", "Romance"],
"year": 1955,
"actor": ["Hopper, Dennis", "Wood, Natalie", "Dean, James", "Mineo, Sal", "Backus, Jim", "Platt, Edward", "Ray, Nicholas", "Hopper, William", "Allen, Corey", "Birch, Paul", "Hudson, Rochelle", "Doran, Ann", "Hicks, Chuck", "Leigh, Nelson", "Williams, Robert", "Wessel, Dick", "Bryar, Paul", "Sessions, Almira", "McMahon, David", "Peters Jr., House"],
"title": "Rebel Without a Cause"
 }
使用此命令后:

curl -XGET 'search-movies-4f3nw7eiia2xiynjr55a2nao2y.us-west-1.es.amazonaws.com/movies/_search?q=Frankenheimer'
我什么也没拿回来。始终返回0。以下是我得到的反馈:


如果我做得对的话,我不会这么做,但我想我至少应该能够看到一些东西,因为我上传的json数据的director键中有Frankenheimer。有人能解释一下吗?

试着用
curl-XGET search-movies-4f3nw7eiia2xiynjr55a2nao2y.us-west-1.es.amazon搜索整个索引‌​aws.com/movies//u sear‌​ch
,默认情况下将返回前10个结果。如果返回值小于10,则数据可能不在索引中

您可以通过将查询更改为:

curl -XGET search-movies-4f3nw7eiia2xiynjr55a2nao2y.us-west-1.es.amazon‌​aws.com/movies/_sear‌​ch?q=director:Burton

查看完整的参数列表。

只需执行
curl-XGET search-movies-4f3nw7eiia2xiynjr55a2nao2y.us-west-1.es.amazonaws.com/movies/_search
,您就可以得到任何结果吗?这应确保数据实际位于index@JohnVeldboom有趣。我从没试过。是的,我明白了。那么,为什么我在添加搜索查询时得不到答案呢?@JohnVeldboom这是我在尝试你的搜索查询时得到的结果:take“:1,“timed\u out”:false“,”shards:{“total”:5,“successful”:5,“failed”:0},“hits:{“total”:1,“max\u score”:1.0,“hits:[{“movies”;“movies”;“type:“movie”;“movie”;“id:“1”;“core”;“1.0”,“来源”;{“director:“Burton,Tim”;“流派”;“喜剧”、“科幻”;”年份:1996年,“演员”:[“杰克·尼科尔森”、“皮尔斯·布罗斯南”、“莎拉·杰西卡·帕克”],“头衔”:“火星袭击!”}}谢谢,是的,你是对的。所以一个问题是,如果我在mysql中已经有了一些列,我应该抓取我想要添加的列数据进行搜索,并使用上面的技术将其插入到弹性搜索中吗?是的,这是正确的。我以前使用过弹性搜索,效果非常好。你只需要某种工作,将这些数据索引到ES中。两个记录关于这一点的说明:1)使用MySQL中最后更新的字段,这将允许您仅重新索引更改的数据。2)使用记录的唯一id MySQL作为ES id。这将允许您在ES中轻松更新记录。如果您需要更多帮助,请随时在Twitter@jveldboomThanks上联系我,因此如果我没有误解,我可能需要使用logstash或m我可以使用kenisis+lamda来迁移mysql数据库中的所有数据,并且我需要在插入mysql数据库的同时将任何新数据发布到Elastic search。对吗?第二步看起来不错吗?如果有大量数据需要索引,那么可以使用Logstash或Kinesis。但是如果相对来说一个小型的、简单的脚本,可以在数据上循环并将每一行插入ES也可以。此外,如果您需要立即搜索数据,则可以在插入时将数据发布到ES。但是搜索功能可以等待,您可以稍后批处理它。