How to do exact match

Hey,

Thanks for answering all my other questions, getting close to actually
releasing this, but I'm running into this issue trying to recreate some
MySQL behaviour. Currenty people expect nothing to be fuzzy. If I search
for "Bilbo", I should only get records with the exact word Bilbo.

I'm setting up a keywords field with a bunch of words the application is
generating in a unit test.

             "keywords": {
                "index_name": "keyword",
                "type": "multi_field",
                "fields": {
                    "keywords": {
                        "index_analyzer": "ngram_index_analyzer",
                        "type": "string"
                    },
                    "untouched": {
                        "type": "string",
                        "index": "not_analyzed"
                    }
                }
            },

What the data looks like:

keywords: [

  • test
  • testProduct
  • product
  • 8b9e7e65948298107f299cccb74836ac

]

I've tried querying for this record using the UUID value an inQuery,
MatchQuery,TermQuery, etc. So far I either get everything or nothing.

QueryBuilders.inQuery("keywords.untouched", words).minimumMatch(words.length
);

What I need to do is search for a list of strings and get only entries
where the exact strings exist in the keywords.untouched field.

-Matt

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Just want to check. You are talking about unit testing. How do you write your test?
Index then Search?
Or
Index, Refresh then Search?

Could you share your test?

--
David :wink:
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 3 avr. 2013 à 01:15, Matt Chambers yougotrooted@gmail.com a écrit :

Hey,

Thanks for answering all my other questions, getting close to actually releasing this, but I'm running into this issue trying to recreate some MySQL behaviour. Currenty people expect nothing to be fuzzy. If I search for "Bilbo", I should only get records with the exact word Bilbo.

I'm setting up a keywords field with a bunch of words the application is generating in a unit test.

             "keywords": {
                "index_name": "keyword",
                "type": "multi_field",
                "fields": {
                    "keywords": {
                        "index_analyzer": "ngram_index_analyzer",
                        "type": "string"
                    },
                    "untouched": {
                        "type": "string",
                        "index": "not_analyzed"
                    }
                }
            },

What the data looks like:

keywords: [
test
testProduct
product
8b9e7e65948298107f299cccb74836ac
]

I've tried querying for this record using the UUID value an inQuery, MatchQuery,TermQuery, etc. So far I either get everything or nothing.

QueryBuilders.inQuery("keywords.untouched", words).minimumMatch(words.length);

What I need to do is search for a list of strings and get only entries where the exact strings exist in the keywords.untouched field.

-Matt

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.