【问题标题】:RoR, Tire and ElasticsearchRoR、轮胎和 Elasticsearch
【发布时间】:2013-09-26 05:48:28
【问题描述】:

美好的一天,我有一个弹性搜索和轮胎宝石的项目。 我有一个方面,它返回给我的信。

facet "some" do
  terms :letter, :order => 'term', :size => 99999
  facet_filter :term, id: id
end

我有一个搜索查询的输出,例如

{
  "_index": "some",
  "_type": "some",
  "_id": "210",
  "_score": 1,
  "_source": {
  "id": 1,
  "letter": "p"
  }
}

还有更多其他记录。 它几乎可以正常工作,但是如果字母是“a”,则 facet 不想将其退还给我。我认为,它推动它“失踪”。

"facets": {
  "fac": {
     "_type": "terms",
     "missing": 27,
     "total": 261,
     "other": 0,
     "terms": [

听起来很神奇。 问题可能出在哪里?以及如何查看丢失的记录? (我正在使用 Sense 扩展来更快地使用 ES)

【问题讨论】:

  • 难道letter 字段上有一个stop 过滤器,它正在删除单词"a"
  • 或者确实使用了默认包含停止过滤器的分析器(例如standardsnowball
  • 所以,据我所知,它有一个停止过滤器。我将字母输出为“a_letter”、“b_letter”等,它对我有用。

标签: ruby-on-rails ruby elasticsearch tire


【解决方案1】:

据我了解,它有一些过滤器正在删除字母“a”。 我重写了返回我的第一个字母的方法,所以我的新输出是“a_letter”、“b_letter”等,它对我有用。 感谢@Shadwell 的帮助。

【讨论】:

    猜你喜欢
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 2014-10-24
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多