elasticsearch,attr-protected,Ruby On Rails,elasticsearch,Attr Protected" /> elasticsearch,attr-protected,Ruby On Rails,elasticsearch,Attr Protected" />

Ruby on rails 弹性搜索:如何查看索引数据

Ruby on rails 弹性搜索:如何查看索引数据,ruby-on-rails,elasticsearch,attr-protected,Ruby On Rails,elasticsearch,Attr Protected,我在ElasticSearch和Rails中遇到了一个问题,其中一些数据由于attr_保护而没有正确索引。弹性搜索在哪里存储索引数据?检查实际的索引数据是否错误会很有用 使用Tire.index('models')检查映射。映射没有帮助,字段已列出。探索ElasticSearch群集的最简单方法可能是使用 您可以通过执行以下操作来安装它: cd elasticsearch/ ./bin/plugin -install mobz/elasticsearch-head 然后(假设ElasticSe

我在ElasticSearch和Rails中遇到了一个问题,其中一些数据由于attr_保护而没有正确索引。弹性搜索在哪里存储索引数据?检查实际的索引数据是否错误会很有用


使用
Tire.index('models')检查映射。映射没有帮助,字段已列出。

探索ElasticSearch群集的最简单方法可能是使用

您可以通过执行以下操作来安装它:

cd elasticsearch/
./bin/plugin -install mobz/elasticsearch-head
然后(假设ElasticSearch已在本地计算机上运行),打开浏览器窗口以:

http://localhost:9200/_plugin/head/

或者,您也可以从命令行使用
curl
,例如:

检查索引的映射:

curl -XGET 'http://127.0.0.1:9200/my_index/_mapping?pretty=1' 
获取一些示例文档:

curl -XGET 'http://127.0.0.1:9200/my_index/_search?pretty=1' 
查看存储在特定字段中的实际术语(即该字段的分析方式):

更多信息请访问:

更新:感觉插件在 到目前为止,编写Elasticsearch的
curl
样式命令的最简单方法是

它具有源代码高亮显示、漂亮的缩进和自动完成功能

注:。

搜索、图表、一键设置……

聚合解决方案 通过对数据进行分组来解决问题-DrTech的答案使用了方面来管理数据,但是

面将替换为聚合-

短解 解决方案相同,只是聚合需要
aggs
而不是
facets
,并且具有-


回应 显示相关聚合代码的响应。索引中有两个键,John和Mark

    ....
    "aggregations": {
      "indexed_occupier_names": {
         "buckets": [
            {
               "key": "john",     
               "doc_count": 2     <= 2 documents matching
            },                        
            {
               "key": "mark",
               "doc_count": 1     <= 1 document matching
            }
         ]
      }
   }
   ....
。。。。
“聚合”:{
“索引占用人姓名”:{
“桶”:[
{
“钥匙”:“约翰”,

“doc_count”:2这是一个帮助我调试ElasticSearch的工具。基本上,它是一个带有一些JavaScript的HTML文件。无需在任何地方安装,更不用说ES本身了:只需下载它,解压缩int并用浏览器打开HTML文件


不确定它是否是ES重度用户的最佳工具。但是,对于急于查看条目的用户来说,它确实很实用。

查看索引数据最简单的方法是在浏览器中查看。无需下载或安装。

我假设您的elasticsearch主机是
http://127.0.0.1:9200

步骤1

导航到
http://127.0.0.1:9200/_cat/indices?v
列出您的索引。您将看到如下内容:

步骤2

尝试访问所需的索引:
http://127.0.0.1:9200/products_development_20160517164519304

输出将如下所示:

请注意
别名
,这意味着我们也可以访问以下位置的索引:
http://127.0.0.1:9200/products_development

步骤3

导航到
http://127.0.0.1:9200/products_development/_search?pretty
要查看您的数据:


如果您使用的是Google Chrome,那么您可以简单地使用这个名为Sense的扩展。如果您使用Marvel,它也是一个工具


以下是@JanKlimo示例,在终端上,您需要做的就是:

要查看所有索引,请执行以下操作:

$curl-XGET'http://127.0.0.1:9200/_cat/indices?v'

要查看索引
产品的内容\u开发\u 20160517164519304


$curl-XGET'http://127.0.0.1:9200/products_development_20160517164519304/_search?pretty=1“

Kibana也是一个很好的解决方案。它是Elastic的数据可视化平台。如果安装了它,默认情况下会在端口5601上运行

它提供了很多东西。它有“开发工具”,我们可以在这里进行调试

例如,您可以在此处使用命令检查可用索引

GET /_cat/indices

在Robin的例子中,我认为只需使用curl
curl localhost:9200/my_index/\u search?q=*&pretty
——假设索引中的文档集有限。感谢推荐Sense插件。它看起来很棒。chrome的Sense插件非常适合使用REST API。而_head非常适合用于检查目的!Thanks这真的很有用。顺便说一句,语法是./bin/plugin install mobz/elasticsearch head。也就是说,你不需要在安装前加上连字符。谢谢,我来看看:)谢谢你,简,这正是我要找的。我只是有个问题,
http://127.0.0.1:9200/products_development/_search?pretty=1
仅显示样本数据a?它似乎没有显示所有数据文档声明搜索结果默认为前10个文档(查找
点击次数。点击次数
),这根本不显示索引数据。它只显示与您输入的数据完全相同的源数据。不回答OPs问题。?漂亮就足够了,不需要添加“=1”
# Basic aggregation
GET /houses/occupier/_search?search_type=count
{
    "aggs" : {
        "indexed_occupier_names" : {    <= Whatever you want this to be
            "terms" : {
              "field" : "first_name",    <= Name of the field you want to aggregate
              "size" : 0
            }
        }
    }
}
DELETE /houses

# Index example docs
POST /houses/occupier/_bulk
{ "index": {}}
{ "first_name": "john" }
{ "index": {}}
{ "first_name": "john" }
{ "index": {}}
{ "first_name": "mark" }


# Basic aggregation
GET /houses/occupier/_search?search_type=count
{
    "aggs" : {
        "indexed_occupier_names" : {
            "terms" : {
              "field" : "first_name",
              "size" : 0
            }
        }
    }
}
    ....
    "aggregations": {
      "indexed_occupier_names": {
         "buckets": [
            {
               "key": "john",     
               "doc_count": 2     <= 2 documents matching
            },                        
            {
               "key": "mark",
               "doc_count": 1     <= 1 document matching
            }
         ]
      }
   }
   ....
GET /_cat/indices