Tag: 思维 狮身人面像

思考狮身人面像自动索引

如何为思考sphinx做自动索引,或者它会继续自动索引新记录(添加/删除)。 或者我必须跑 rake ts:index 根据我的需要,如2小时后或1天后。 如果我必须跑,最好的办法是什么?

Rails分页现有的ActiveRecord结果数组

我通常在我的应用程序中使用will_paginate进行分页,但是在我的搜索function上遇到了一个绊脚石。 我使用Thinking Sphinx进行全文搜索,返回分页结果。 我遇到的问题是,在我收到Thinking Sphinx的结果后,我需要将它们与其他一些结果合并并重新排序。 一旦我完成处理它们,我得到的结果数组与TS的原始结果非常不同。 因为这个数组可能有1000多个结果分页是必要的。 问题是我无法弄清楚如何让will_paginate与现有数组一起使用。 我已经做了一些研究,似乎这个问题的唯一解决方案来自几年前,并且基于旧的内置Paginator类。 最近我发现使用will_paginate的是来自2007年中期的devchix: http : //www.devchix.com/2007/07/23/will_paginate-array/comment-page-1/ – 我是考虑到这一点,但它似乎没有为我做任何事情。 是否有现有的方法为现有的AR结果数组应用分页(最好是通过will_paginate)?

思考 – 狮身人面像指数最低

我有产品和价格模型,其中: class Product < AR::Base has_many :prices # there are several types of prices, eg for guests, users et.c. 我想按价格值对产品进行索引和分类,属于该产品和确切的price_type。 ThinkingSphinx::Index.define :product, with: :active_record do indexes name indexes k1c indexes catalogue_code indexes created_at, sortable: true indexes prices(:value), as: :price, sortable: true # TODO has :category_id has :brand_id has :kind_cd has :price_id end 在rake ts:rebuild I […]

部署后思考Sphinx – ThinkingSphinx :: SphinxError(搜索请求中未知的本地索引’user_core’):

我查看了这个主题: Sphinx错误:搜索请求中的未知本地索引“INDEX_NAME” ,但它已关闭,并且我的rails应用程序中没有解决问题。 我将TS更新为3.0.2,并将其包含在deploy.rb中。 我也改变了模型中的代码。 现在它在开发中工作,有些例子在测试中工作,有些则没有。 但成功部署后,我收到错误: ThinkingSphinx::SphinxError (unknown local index ‘user_core’ in search request): 我尝试重建,重启和其他的东西,但它不起作用:( 有谁能够帮我? 谢谢!

Rails 4.1 – 思考 – 狮身人面像协会无法正常工作

我有一个Rails应用程序包含两个模型, Post和User ,我正在使用Sphinx和thinking-sphinx gem来启用搜索。 每个post属于一个用户,使用belongs_to ,每个用户可以有很多post。 当我搜索post时,我也希望能够通过创建post的用户名进行搜索。 我的post索引如下: ThinkingSphinx::Index.define :post, :with => :active_record do indexes name, :sortable => true indexes post_description indexes user.name, as: :post_user has user_id, team_id, created_at, updated_at end 我的用户索引如下所示: ThinkingSphinx::Index.define :user, :with => :active_record do indexes name, :sortable => true indexes email indexes about has team_id, created_at, updated_at end 当我运行: rake ts:index […]

Sphinx返回糟糕的搜索结果

我正在使用Sphinx和Thinking Sphinx插件。 我使用以下代码索引了一个名为Venue的模型(以及rake thinking_sphinx:index命令) define_index do indexes :name indexes city indexes zip end 我使用以下代码在控制器中获取结果: @venues = Venue.search params[:search] 我将它们渲染为json。 我遇到的问题是,当我点击此url时: http://localhost:3000/venue/list?search=Baltimo 我一无所获。 但是当我点击此url时: http://localhost:3000/venue/list?search=Baltimor 我得到了位于巴尔的摩市的所有场地。 出于某种原因,一个角色有所作为。 从理论上讲,如果我只搜索一个角色,我应该在巴尔的摩获得所有场地 – ‘b’ 有谁知道这里发生了什么? 谢谢

如何使用ThinkingSphinx对多个模型进行地理搜索?

我有两个索引的模型用于搜索(用户和项目)。 我正在尝试跨模型进行地理搜索: ThinkingSphinx::Search.search(‘keywords’, :geo => [ degrees_to_radians(params[:lat].to_f), degrees_to_radians(params[:lon].to_f) ], ) 但我只得到一个错误: Sphinx Error: index item_core,item_delta,user_core,user_delta: unknown latitude attribute ” 单独搜索每个模型工作正常……但我不知道这里的问题是什么。 以下是索引: 用户索引: define_index do indexes [:first_name, :last_name], :as => :name indexes login indexes email indexes headline indexes description indexes business.name, :as => :business_name indexes [addresses.street_1, addresses.street_2, addresses.city, addresses.postal_code], :as => :address has created_at, :sortable => […]

在Thinking Sphinx中使用Delta Indexes进行关联

我有一个产品型号: class Product :subcategory, :sortable => true, :facet => true # attributes has subcategory_id, created_at, updated_at #properties set_property :delta => true 现在,假设用户更新子类别名称,这是更新产品增量索引的正确方法吗? 根据此文档: http : //freelancing-god.github.com/ts/en/deltas.html ,应将保存消息发送到产品,因此在这种情况下,我应该查找与子类别相关的每个产品,发送保存消息,如下所示: class Subcategory < ActiveRecord::Base has_many :products after_save :set_product_delta_flag private def set_product_delta_flag products.each { |product| product.delta = true product.save } end end 我认为这是过度的,因为我们每个子类别都有100.000个产品。 这是更新delta指数的正确方法吗? 我错过了什么吗? 添加后: def set_product_delta_flag Product.update_all […]

如何在rails应用程序中运行rake任务

我想做的事: 在model.rb中,在after_commit中,我想运行rake task ts:reindex ts:reindex通常使用rake ts:index运行