如何解决对从 jdbc 获取到 elasticsearch 的数据的有用查询
我是 rails 和 elasticsearch 的新手,我有一个 rails 应用程序,它有一个表,每年有超过 200 万条记录。我的老板告诉我给这个表添加弹性搜索来有一个搜索框,这个搜索框是由特定的 sql 查询创建的,其中包含一些 sql 命令,比如包含和引用,所以我在使用 JDBC 驱动程序获取数据之前告诉过原因到弹性,一切都很顺利,但现在我必须首先提出问题 JDBC 驱动程序可以获取发送到 logstash 的数据,但我不明白为什么弹性不创建索引,我的第二个问题是关于搜索的最佳弹性查询是什么在这种状态下的索引?我在谷歌上搜索了很多,但这让我感到困惑。 这是logstash配置:
input {
jdbc {
jdbc_connection_string => "jdbc:postgresql://localhost:5432/mailplus_development?user=hadii"
jdbc_driver_library => "/usr/share/logstash/postgresql-42.2.22.jar"
jdbc_driver_class => "org.postgresql.Driver"
jdbc_user => "postgres"
jdbc_password => "****"
jdbc_validate_connection => true
schedule => "* * * * *"
statement => "sql query"
clean_run => "false"
record_last_run => "true"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
}
}
output {
elasticsearch {
hosts => "http://elasticsearch:9200"
index => "shipment_order_%{+YYYY_MM_dd}"
}
stdout { }
}
@shipment_items = ::ShipmentItem.includes(:barcode,shipment_order: [external_barcode: [:couple],delivery_location: %i[address contact],staff: [:customer]])
.references(:barcode,shipment_order: [external_barcode: [:barcodes],staff: [:customer]])
.where('customers.id = ? OR orders.customer_id = ?',current_staff.customer.id,current_staff.customer.id)
用户可以搜索该表的 6 列以上,所以我想我必须在弹性查询中定义它,但我不知道哪一个对我的工作有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。