Get Solr documents that include only a specific set of values
up vote
1
down vote
favorite
I have a Solr collection with a multiValued field "myField". I want to fetch documents where myField contains values from a specific set, and nothing else.
So for example, from the following set of documents:
{ "title": "Doc 1", "myField": ["A", "B"] },
{ "title": "Doc 2", "myField": ["A", "C"] },
{ "title": "Doc 3", "myField": ["A"] }
I want to fetch the documents where all the values in myField are within the set ("A", "B"), which means "Doc 1" and "Doc 3", but not "Doc 2" because "Doc 2" also has "C" in myField.
Currently I'm getting the results I want by excluding documents where myField contains specific values. I.e. in this case: -myField:C
This problem with this approach is that it only works when all the values that need to be excluded are known ahead of time. Is there a way to flip this logic around so that I can query for only specific values to be included instead?
solr lucene
add a comment |
up vote
1
down vote
favorite
I have a Solr collection with a multiValued field "myField". I want to fetch documents where myField contains values from a specific set, and nothing else.
So for example, from the following set of documents:
{ "title": "Doc 1", "myField": ["A", "B"] },
{ "title": "Doc 2", "myField": ["A", "C"] },
{ "title": "Doc 3", "myField": ["A"] }
I want to fetch the documents where all the values in myField are within the set ("A", "B"), which means "Doc 1" and "Doc 3", but not "Doc 2" because "Doc 2" also has "C" in myField.
Currently I'm getting the results I want by excluding documents where myField contains specific values. I.e. in this case: -myField:C
This problem with this approach is that it only works when all the values that need to be excluded are known ahead of time. Is there a way to flip this logic around so that I can query for only specific values to be included instead?
solr lucene
I'm not that experienced with Solr, but from looking at the documentation it seems like one way to solve this might be to use custom field analyzers?
– Nico
Nov 7 at 11:19
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have a Solr collection with a multiValued field "myField". I want to fetch documents where myField contains values from a specific set, and nothing else.
So for example, from the following set of documents:
{ "title": "Doc 1", "myField": ["A", "B"] },
{ "title": "Doc 2", "myField": ["A", "C"] },
{ "title": "Doc 3", "myField": ["A"] }
I want to fetch the documents where all the values in myField are within the set ("A", "B"), which means "Doc 1" and "Doc 3", but not "Doc 2" because "Doc 2" also has "C" in myField.
Currently I'm getting the results I want by excluding documents where myField contains specific values. I.e. in this case: -myField:C
This problem with this approach is that it only works when all the values that need to be excluded are known ahead of time. Is there a way to flip this logic around so that I can query for only specific values to be included instead?
solr lucene
I have a Solr collection with a multiValued field "myField". I want to fetch documents where myField contains values from a specific set, and nothing else.
So for example, from the following set of documents:
{ "title": "Doc 1", "myField": ["A", "B"] },
{ "title": "Doc 2", "myField": ["A", "C"] },
{ "title": "Doc 3", "myField": ["A"] }
I want to fetch the documents where all the values in myField are within the set ("A", "B"), which means "Doc 1" and "Doc 3", but not "Doc 2" because "Doc 2" also has "C" in myField.
Currently I'm getting the results I want by excluding documents where myField contains specific values. I.e. in this case: -myField:C
This problem with this approach is that it only works when all the values that need to be excluded are known ahead of time. Is there a way to flip this logic around so that I can query for only specific values to be included instead?
solr lucene
solr lucene
edited Nov 7 at 12:33
asked Nov 7 at 11:15
Nico
2,1101224
2,1101224
I'm not that experienced with Solr, but from looking at the documentation it seems like one way to solve this might be to use custom field analyzers?
– Nico
Nov 7 at 11:19
add a comment |
I'm not that experienced with Solr, but from looking at the documentation it seems like one way to solve this might be to use custom field analyzers?
– Nico
Nov 7 at 11:19
I'm not that experienced with Solr, but from looking at the documentation it seems like one way to solve this might be to use custom field analyzers?
– Nico
Nov 7 at 11:19
I'm not that experienced with Solr, but from looking at the documentation it seems like one way to solve this might be to use custom field analyzers?
– Nico
Nov 7 at 11:19
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53188385%2fget-solr-documents-that-include-only-a-specific-set-of-values%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I'm not that experienced with Solr, but from looking at the documentation it seems like one way to solve this might be to use custom field analyzers?
– Nico
Nov 7 at 11:19