0

如何使用轮胎 gem 为 ElasticSearch 的语法索引嵌入文档上的特定字段?

我已经为嵌入许多答案的问题模型尝试了以下方法,并且我希望仅对答案模型上的描述字段进行索引。

搜索应该与存储的答案描述匹配的文本不会返回任何结果。顺便说一句,我正在使用 Mongoid 作为我的 MongoDB 驱动程序。

 mapping do
    indexes :id, :index => :no
    indexes :created_at, :index => :no
    indexes :updated_at, :index => :no
    indexes :title, :index => :analyzed
    indexes :description, :index => :analyzed
    indexes :page_views, :index => :no
    indexes :asker, :index => :no
    indexes :tags, :index => :analyzed
    indexes :answers do
      indexes :id, :index => :no
      indexes :description, :index => :analyzed
      indexes :answerer, :index => :no
      indexes :created_at, :index => :no
      indexes :updated_at, :index => :no
    end
    indexes :comments, :index => :no
    indexes :votes, :index => :no
    indexes :up_count, :index => :no
    indexes :down_count, :index => :no
    indexes :vote_score, :index => :no
  end
4

1 回答 1

1

我认为您需要先指定每个字段的类型,然后才能设置“索引”参数。(我可能错了)

我认为这行不通:

"properties": {
  "description": {
    "index": "analyzed"
  }
}

试试这个:

"properties": {
  "description": {
    "type": "string",
    "index": "analyzed" //not really needed as the default is analyzed
  }
}

您能否使用以下方法检查您的映射:

curl -XGET 'http://localhost:9200/your_index/your_type/_mapping'

发布输出,我们将查看 elasticsearch 是否配置正确。

祝你好运!

于 2013-07-28T18:52:07.640 回答