RediSearch | A query and indexing engine for Redis, providing secondary indexing, full-text search, vector simila | Search Engine library

 by   RediSearch C Version: v2.8.2 License: Non-SPDX

kandi X-RAY | RediSearch Summary

kandi X-RAY | RediSearch Summary

RediSearch is a C library typically used in Database, Search Engine applications. RediSearch has no bugs, it has no vulnerabilities and it has medium support. However RediSearch has a Non-SPDX License. You can download it from GitHub.

RediSearch is a Redis module that provides querying, secondary indexing, and full-text search for Redis. To use RediSearch, you first declare indexes on your Redis data. You can then use the RediSearch query language to query that data. RediSearch uses compressed, inverted indexes for fast indexing with a low memory footprint. RediSearch indexes enhance Redis by providing exact-phrase matching, fuzzy search, and numeric filtering, among many other features.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              RediSearch has a medium active ecosystem.
              It has 4429 star(s) with 454 fork(s). There are 113 watchers for this library.
              There were 3 major release(s) in the last 12 months.
              There are 480 open issues and 837 have been closed. On average issues are closed in 10 days. There are 69 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of RediSearch is v2.8.2

            kandi-Quality Quality

              RediSearch has 0 bugs and 0 code smells.

            kandi-Security Security

              RediSearch has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              RediSearch code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              RediSearch has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              RediSearch releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 10261 lines of code, 730 functions and 60 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of RediSearch
            Get all kandi verified functions for this library.

            RediSearch Key Features

            No Key Features are available at this moment for RediSearch.

            RediSearch Examples and Code Snippets

            No Code Snippets are available at this moment for RediSearch.

            Community Discussions

            QUESTION

            Redis Redisearch Aggregate GroupBy multiple column
            Asked 2022-Apr-09 at 19:37

            I would like to in redisearch a query similar to :

            SELECT groupA, groupB, sum(value) as totalvalue FROM tableA WHERE groupC = 'C' GROUP BY groupA, groupB

            How can I do it in redisearch? Is it possible?

            I can only do one group at the moment :

            FT.AGGREGATE ResultSearch "@groupC:C" GROUPBY 1 @groupA REDUCE SUM 1 @value as totalvalue SORTBY 2 @groupA ASC

            which is similar to something like this in sql:

            SELECT groupA, sum(value) as totalvalue FROM tableA WHERE groupC = 'C' GROUP BY groupA

            But how to do multiple groups in Redisearch?

            I am still very new to Redisearch, sorry for a very basic question. Thank you so much for your help.

            ...

            ANSWER

            Answered 2022-Apr-09 at 19:37

            you can use :

            FT.AGGREGATE ResultSearch "@groupC:C" GROUPBY 2 @groupA @groupB REDUCE SUM 1 @value as totalvalue SORTBY 2 @groupA ASC

            Source https://stackoverflow.com/questions/71793957

            QUESTION

            overwrite information on redis using redis_om (python)
            Asked 2022-Mar-14 at 18:44

            I am using redis_OM in order to make it easier to do aggregations using redisearch module. The thing is that I want to upload some data to redis everyday without keeping the one uploaded the day before, that is to say, I want either to make the old data expire or overwrite it with the new one.

            I am doing it with the example of the Redis documentation and redis cloud. This is my model:

            ...

            ANSWER

            Answered 2022-Mar-14 at 18:44

            If you want to expire a Customer object, you can do this with the expire method by getting the underlying redis-py connection for your Customer model. Here's an example:

            Source https://stackoverflow.com/questions/71465190

            QUESTION

            How to the @ symbol in RediSearch?
            Asked 2022-Feb-04 at 09:15

            I'm using the modules RedisJSON and RediSearch together to perform search queries on JSON data. Given a json list like this:

            {"email": "test1@example.com", "is_checked": 1}

            I do:

            ...

            ANSWER

            Answered 2022-Feb-03 at 18:03

            You can escape special characters, like @, with a backslash:

            Source https://stackoverflow.com/questions/70975848

            QUESTION

            dial tcp 127.0.0.1:8080: connect: connection refused. go docker app
            Asked 2021-Dec-22 at 10:09

            I have two apps in go language. user_management app, which I run (docker-compose up --build) first, then I run(docker-compose up --build) sport_app. sport_app is dependent from user_management app.

            sport_app Dockerfile file as below.

            ...

            ANSWER

            Answered 2021-Dec-22 at 10:09

            For communicating between multiple docker-compose clients, you need to make sure that the containers you want to talk to each other are on the same network.

            For example, (edited for brevity) here you have one of the docker-compose.yml

            Source https://stackoverflow.com/questions/70440797

            QUESTION

            NRediSearch - Getting total documents matched count
            Asked 2021-Dec-07 at 20:53

            Is there a way to get a total results count when calling Aggregate function?

            Note that I'm not using Aggregate function to aggregate results, but as an advanced search query, because Search function does not allow to sort by multiple fields.

            RediSearch returns total documents matched count, but I can't find a way to get this number using NRediSearch library.

            ...

            ANSWER

            Answered 2021-Dec-07 at 20:53
            With NRediSearch

            Using NRediSearch, you would need to build and execute aggregation that will run a GROUPBY 0 and the COUNT reducer, say you have a person-idx index and you want to count all the Person documents in Redis:

            Source https://stackoverflow.com/questions/70168002

            QUESTION

            Issue in integrating php-redisearch with laravel 8
            Asked 2021-Nov-03 at 20:19

            I have installed the plugin MacFJA/php-redisearch using the following command

            composer require macfja/redisearch

            Issue:

            Complete code:

            ...

            ANSWER

            Answered 2021-Nov-03 at 20:19

            As @NicoHaase said (and here also), MacFJA\RediSearch\Redis\Client\ClientFacade is not available in versions 1.x, and as for now, the version installed by Composer is the version 1.4.0.

            The next version (that will be 2.0.0) is not ready yet, but is not far away. It's this version that have the class MacFJA\RediSearch\Redis\Client\ClientFacade.

            But the version 1.4.0 can be used in Laravel as well.

            The documentation is here: https://github.com/MacFJA/php-redisearch/tree/1.4.0#readme

            But to summarize it should be something like:

            Source https://stackoverflow.com/questions/69820273

            QUESTION

            RediSearch sort by numeric field then by distance when using geofilter
            Asked 2021-Oct-22 at 09:23

            How can I sort results, first by some numeric field (for example by price) then by distance when using GEOFILTER in RediSearch?

            ...

            ANSWER

            Answered 2021-Oct-22 at 09:23

            The FT.SEARCH command does not support multiple fields with SORTBY.

            However you can use the FT.AGGREGATE command and the geodistance function for this.

            Here is an example using REDIS-CLI:

            Source https://stackoverflow.com/questions/69665035

            QUESTION

            Auto Complete using redis and Flask
            Asked 2021-Sep-22 at 11:02

            I am new to Redis and Redisearch. I want to create an autocomplete using redis in flask app.

            Below is what I have tried so far,

            autocomplete.py:

            ...

            ANSWER

            Answered 2021-Sep-16 at 16:22

            You can use redisearch's autocompleter. Example using flask is available on Github https://github.com/Redislabs-Solution-Architects/redisearch_demo_and_preso

            Source https://stackoverflow.com/questions/69200220

            QUESTION

            Adding Prefix when creating an Index using Jredisearch
            Asked 2021-Sep-18 at 03:51

            I use Jredisearch(com.redislabs:jredisearch:2.0.0) to store data in an Index. I want to add a prefix while creating the Index. I am able to add prefix using the below Redisearch command FT.CREATE MyIndex ON HASH PREFIX 1 doc: SCHEMA name TEXT

            But not able to find options for the same when writing in Java. I use the following code in Java, client.createIndex(schema, Client.IndexOptions.defaultOptions());

            Could anyone suggest how do we add Prefix when using Jredisearch?

            ...

            ANSWER

            Answered 2021-Sep-18 at 03:51

            IndexDefinition class has a setPrefixes(...) method which serves your purpose.

            Note: You may have to create IndexDefinition using new IndexDefinition().

            Source https://stackoverflow.com/questions/69222393

            QUESTION

            Does it make sense to have dynamic indexes in RediSearch?
            Asked 2021-Sep-04 at 08:44

            For example: consider that a hash (lets call it Event) has two searchable properties: user_id (num) and name (text).

            However, whenever I need to filter events by name I aways have the user_id at hand. So I am wondering if it makes sense to have one index of events per user instead of one big index of events for all users.

            From my basic knowledge with Redis and RediSearch:

            • One index for all events of all users:
              • Prefix: "events:"
              • Key examples: events:123, events:456
              • Pros: easier.
              • Cons: whenever I need to search for events of name "foo" and user_id 100 RediSearch needs to find a block of events using the user_id and then filter the name. The hash needs to be in the same shard or use the coordinator.
            • One index per user for its events:
              • Prefixes: "events:%USER_ID%:", ie "events:789" where 789 is an user id
              • Key examples: events:789:123
              • Pros: Smaller indexes for better performance and can be easily distributed.
              • Cons: harder to maintain. If there are 1mi users we have 1mi indexes, dunno if this is a problem or not.
            ...

            ANSWER

            Answered 2021-Sep-04 at 08:44

            @jonathan it depends on your performance requirements and available memory.

            If memory is not an issue (indexing the same doc twice) and you want to reduce the latency to a minimum then that sounds like an optional option.

            With one caveat creating so many indexes has an overhead on the GC therefore you should only consider it if the user level index is pretty static or short live and you can define it as TEMPORARY (can be with endless timeout)

            See: https://oss.redis.com/redisearch/Commands/#ftcreate

            Source https://stackoverflow.com/questions/69037608

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install RediSearch

            If you're just getting started with RediSearch, check out the official RediSearch tutorial. Also, consider viewing our RediSearch video explainer. The fastest way to get up and running with RediSearch is by using the RediSearch Docker image.

            Support

            The RediSearch documentation provides a complete overview of RediSearch. Helpful sections include:.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/RediSearch/RediSearch.git

          • CLI

            gh repo clone RediSearch/RediSearch

          • sshUrl

            git@github.com:RediSearch/RediSearch.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link