【问题标题】:Exact phrase match in elasticsearch on tire轮胎弹性搜索中的精确短语匹配
【发布时间】:2012-02-01 05:57:25
【问题描述】:

我在我的 ruby​​ on rails 应用程序中在 tire 上实现 elasticsearch
到目前为止,我做得很好。现在我想检索与精确值匹配的结果。
例如如果有两个标题分别为“once on”和“once on a time”的记录, "title: once on" 应该只返回一个标题正好是 "once on"

【问题讨论】:

  • regex 是个好主意吗?
  • 我不知道这是如何通过轮胎完成的,但通常你应该通过关键字分析器索引标题

标签: ruby-on-rails-3 elasticsearch tire


【解决方案1】:

这里是示例代码:

Tire.search 'articles', do |search|
    search.size 100        #  Limit record
    search.from 0          #  start offeset

    # search.query.text keyword, :type => :phrase
    search.query do |query|
        query.text :_all, keyword, :type => :phrase
    end
  end
end

希望对您有所帮助!

【讨论】:

  • 你为什么在这里使用type: :phrase ??
  • query.text 已弃用!立即使用 query.match。
  • 短语类型搜索文档,就好像给定的关键字是短语一样。但是,它并不能完全满足 OP 的要求。
猜你喜欢
  • 1970-01-01
  • 2019-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多