Setting term separators, analyzers with java api


(feridcelik) #1

Hi,

Im unable to get facets as I expected.
We store products on ES, products got tags like 'body', 'sneakers', 't-shirt', ext..

When i get term facets on the "tag" field, "t-shirt" tag separated into two terms because of '-' character.

How do i disable these separators?
I tried to set different analyzers but couldnt accomplish.

We are using ES 0.19.3

Thanks.


(Michael Sick) #2

set the mapping for the field to not_analyzed, something like:

            "foo-field" : { "type" : "string", "index" :

"not_analyzed", "store" : "yes", "include_in_all" : true},

If you need both analyzed and not analyzed versions, see the multi_field
option.

--Mike

On Tue, May 22, 2012 at 10:05 AM, feridcelik feridcelik@gmail.com wrote:

Hi,

Im unable to get facets as I expected.
We store products on ES, products got tags like 'body', 'sneakers',
't-shirt', ext..

When i get term facets on the "tag" field, "t-shirt" tag separated into two
terms because of '-' character.

How do i disable these separators?
I tried to set different analyzers but couldnt accomplish.

We are using ES 0.19.3

Thanks.

--
View this message in context:
http://elasticsearch-users.115913.n3.nabble.com/Setting-term-separators-analyzers-with-java-api-tp4006715.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.


(Shay Banon) #3

Note that store set to yes is not really needed.

On Tue, May 22, 2012 at 5:27 PM, Michael Sick <
michael.sick@serenesoftware.com> wrote:

set the mapping for the field to not_analyzed, something like:

            "foo-field" : { "type" : "string", "index" :

"not_analyzed", "store" : "yes", "include_in_all" : true},

If you need both analyzed and not analyzed versions, see the multi_field
option.

--Mike

On Tue, May 22, 2012 at 10:05 AM, feridcelik feridcelik@gmail.com wrote:

Hi,

Im unable to get facets as I expected.
We store products on ES, products got tags like 'body', 'sneakers',
't-shirt', ext..

When i get term facets on the "tag" field, "t-shirt" tag separated into
two
terms because of '-' character.

How do i disable these separators?
I tried to set different analyzers but couldnt accomplish.

We are using ES 0.19.3

Thanks.

--
View this message in context:
http://elasticsearch-users.115913.n3.nabble.com/Setting-term-separators-analyzers-with-java-api-tp4006715.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.


(feridcelik) #4

Thanks guys, i set that field as "not_analyzed" and facet results are based
on actual field values.

Now i got more questions :slight_smile:

  • Does that "not_analyzed" thing affect search results ?

  • My documents are quite small (~10 fields and small values) and i need
    most of the fields loaded on search results. Do i need to set
    {"store":"yes"} for better performance?

Thanks.

Ferid Gürbüz

On Fri, May 25, 2012 at 11:27 PM, kimchy [via ElasticSearch Users] <
ml-node+s115913n4015870h55@n3.nabble.com> wrote:

Note that store set to yes is not really needed.

On Tue, May 22, 2012 at 5:27 PM, Michael Sick <[hidden email]http://user/SendEmail.jtp?type=node&node=4015870&i=0

wrote:

set the mapping for the field to not_analyzed, something like:

            "foo-field" : { "type" : "string", "index" :

"not_analyzed", "store" : "yes", "include_in_all" : true},

If you need both analyzed and not analyzed versions, see the multi_field
option.

--Mike

On Tue, May 22, 2012 at 10:05 AM, feridcelik <[hidden email]http://user/SendEmail.jtp?type=node&node=4015870&i=1

wrote:

Hi,

Im unable to get facets as I expected.
We store products on ES, products got tags like 'body', 'sneakers',
't-shirt', ext..

When i get term facets on the "tag" field, "t-shirt" tag separated into
two
terms because of '-' character.

How do i disable these separators?
I tried to set different analyzers but couldnt accomplish.

We are using ES 0.19.3

Thanks.

--
View this message in context:
http://elasticsearch-users.115913.n3.nabble.com/Setting-term-separators-analyzers-with-java-api-tp4006715.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.


If you reply to this email, your message will be added to the discussion
below:

http://elasticsearch-users.115913.n3.nabble.com/Setting-term-separators-analyzers-with-java-api-tp4006715p4015870.html
To unsubscribe from Setting term separators, analyzers with java api, click
herehttp://elasticsearch-users.115913.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4006715&code=ZmVyaWRjZWxpa0BnbWFpbC5jb218NDAwNjcxNXwtMTM2NjM5OTEyMw==
.
NAMLhttp://elasticsearch-users.115913.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html!nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers!nabble%3Aemail.naml-instant_emails!nabble%3Aemail.naml-send_instant_email!nabble%3Aemail.naml


(Shay Banon) #5

No, you don't need store to be set to yes for better performance, since it
plays no part when searching, only when loading a relevant hit to be
returned to the user (and if a field is not explicitly stored, it will be
fetched from _source).

On Sat, May 26, 2012 at 2:28 PM, feridcelik feridcelik@gmail.com wrote:

Thanks guys, i set that field as "not_analyzed" and facet results are
based on actual field values.

Now i got more questions :slight_smile:

  • Does that "not_analyzed" thing affect search results ?

  • My documents are quite small (~10 fields and small values) and i need
    most of the fields loaded on search results. Do i need to set
    {"store":"yes"} for better performance?

Thanks.

Ferid Gürbüz

On Fri, May 25, 2012 at 11:27 PM, kimchy [via ElasticSearch Users] <[hidden
email] http://user/SendEmail.jtp?type=node&node=4016604&i=0> wrote:

Note that store set to yes is not really needed.

On Tue, May 22, 2012 at 5:27 PM, Michael Sick <[hidden email]http://user/SendEmail.jtp?type=node&node=4015870&i=0

wrote:

set the mapping for the field to not_analyzed, something like:

            "foo-field" : { "type" : "string", "index" :

"not_analyzed", "store" : "yes", "include_in_all" : true},

If you need both analyzed and not analyzed versions, see the multi_field
option.

--Mike

On Tue, May 22, 2012 at 10:05 AM, feridcelik <[hidden email]http://user/SendEmail.jtp?type=node&node=4015870&i=1

wrote:

Hi,

Im unable to get facets as I expected.
We store products on ES, products got tags like 'body', 'sneakers',
't-shirt', ext..

When i get term facets on the "tag" field, "t-shirt" tag separated into
two
terms because of '-' character.

How do i disable these separators?
I tried to set different analyzers but couldnt accomplish.

We are using ES 0.19.3

Thanks.

--
View this message in context:
http://elasticsearch-users.115913.n3.nabble.com/Setting-term-separators-analyzers-with-java-api-tp4006715.html
Sent from the ElasticSearch Users mailing list archive at Nabble.com.


If you reply to this email, your message will be added to the
discussion below:

http://elasticsearch-users.115913.n3.nabble.com/Setting-term-separators-analyzers-with-java-api-tp4006715p4015870.html
To unsubscribe from Setting term separators, analyzers with java api, click
here.
NAMLhttp://elasticsearch-users.115913.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html!nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers!nabble%3Aemail.naml-instant_emails!nabble%3Aemail.naml-send_instant_email!nabble%3Aemail.naml


View this message in context: Re: Setting term separators, analyzers with
java apihttp://elasticsearch-users.115913.n3.nabble.com/Setting-term-separators-analyzers-with-java-api-tp4006715p4016604.html

Sent from the ElasticSearch Users mailing list archivehttp://elasticsearch-users.115913.n3.nabble.com/at Nabble.com.


(system) #6