
Security News
OpenGrep Restores Fingerprinting in JSON and SARIF Outputs
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
High performance real-time prefix search, indexes store in Redis for Rails application.
gem 'redis-search'
$ bundle install
require "redis"
require "redis-namespace"
require "redis-search"
# don't forget change namespace
redis = Redis.new(host: '127.0.0.1', port: '6379')
# We suggest you use a special db in Redis, when you need to clear all data, you can use `flushdb` command to cleanup.
redis.select(3)
# Give a special namespace as prefix for Redis key, when your have more than one project used redis-search, this config will make them work fine.
redis = Redis::Namespace.new("your_app_name:redis_search", redis: redis)
Redis::Search.configure do |config|
config.redis = redis
config.complete_max_length = 100
config.pinyin_match = true
end
Redis::Search
callback event, it will to rebuild search indices when data create or update.class Post < ActiveRecord::Base
include Redis::Search
belongs_to :user
belongs_to :category
redis_search title_field: :title,
score_field: :hits,
condition_fields: [:user_id, :category_id],
ext_fields: [:category_name]
def category_name
self.category.name
end
end
class User < ActiveRecord::Base
include Redis::Search
serialize :alias_names, Array
redis_search title_field: :name,
alias_field: :alias_names,
score_field: :followers_count,
ext_fields: [:email, :tagline]
end
class SearchController < ApplicationController
# GET /search_users?q=j
def search_users
Post.prefix_match(params[:q], conditions: { user_id: 12, category_id: 4 })
end
end
Redis-Search index data to Redis from your model (pass name as CLASS environment variable).
$ rake redis_search:index:model CLASS='User'
Customize the batch size:
$ rake redis_search:index:model CLASS='User' BATCH=100
Redis-Search all index data to Redis from app/models
(or use DIR environment variabl).
$ rake redis_search:index DIR=app/models
Customize the batch size:
$ rake redis_search:index DIR=app/models BATCH=100
You can run the rake command (see Rakefile) to make test. There is my performance test result.
Projects used redis-search:
FAQs
Unknown package
We found that redis-search demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
OpenGrep has restored fingerprint and metavariable support in JSON and SARIF outputs, making static analysis more effective for CI/CD security automation.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.