returning arbitrary fields from documents

I am asking RS to return specific fields from my documents, but I get this error back:

127.0.0.1:6379> “FT.SEARCH” “il1” “@tags:{w\:couchride}” “LIMIT” “0” “1” “RETURN” “1” “did”

(error) Property ‘did’ not loaded or in schema

If I ommit the RETURN clause, I get the entire document back:

127.0.0.1:6379> “FT.SEARCH” “il1” “@tags:{w\:couchride}” “LIMIT” “0” “1”

  1. (integer) 124197

  2. “p:513944”

    1. ctitle
  3. “2005 Kawasaki Ninja ZX 6R”

  1. did

  2. “cf:d:420”

etc…

Is this something that can change in later versions / am I doing it incorrectly? Since you have access to the entire document, it would be helpful if I could pick the fields I want to read without having to index them, which would just take more space.

Thanks,

Michael

Hrm, I suggest you file a bug for that. However, in theory, if search doesn’t know about a field, then it shouldn’t return it. Can you declare it in the schema with NOINDEX? (or add it, even)
Mark Nunberg | Senior Software Engineer
Redis Labs - home of Redis

Email: mark@redislabs.com

The current behaviour of returning the entire hash, whether the fields are indexed or not, is actually intuitive (I use FT.ADDHASH for indexing). So I wouldn’t change that. However, it would be really useful if RS could return any subset of fields I want, whether they are indexed or not.

https://github.com/RediSearch/RediSearch/issues/704