Completion suggester with separated doc types (multiple indices?)


(Facundo Olano) #1

Hello, I've started playing around with the completion suggester to
implement autocomplete functionality in my application and found it pretty
straightforward and simple to use.

The problem I have is that I don't want mixed types in my suggestions: if
have a "music" index with "song" and "artist" types, I want to have "song"
and "artist" autocompletes. From the documentation I get that this doesn't
seem to be supported, so I'm considering having a separate index for each
type. I've readhttp://elasticsearch-users.115913.n3.nabble.com/More-indices-vs-more-types-td3999423.html#a4002051that this is not the best practice, but from the size of my data I presume
I won't be having problems: I have around 10 types, most of them with
around 2000 documents. It's worth noting that I'm just using elasticsearch
for this autocomplete functionality (although I may use it for regular
search eventually).

So I wanted to check if it makes sense modeling my indices that way or if
there's an alternative solution to my problem (for example, using the suggest
plugin https://github.com/spinscale/elasticsearch-suggest-plugin?)

Thanks,
Facundo.

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/65d950a0-0784-46eb-94c3-7689ab858fe2%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Alexander Reelsen) #2

Hey,

the way the completion suggester is implemented, it does not support
filtering by types (neither does the suggest plugin) - so this makes a
pretty clear decision process for your use-case. The reason for this, is
the different approach how suggest data is stored and queried - in a
nutshell, the suggest data structure simply takes the whole index data and
uses it for suggestions. The type itself is simply spoken just another
metadata, which cannot be filtered out.

I'd go with the completion suggester if possible (as I wrote the suggest
plugin I can tell that the completion suggester has a way better design,
and, obviously, is part of the core).

Hope this helps...

--Alex

On Tue, Dec 24, 2013 at 4:50 PM, Facundo Olano facundo.olano@gmail.comwrote:

Hello, I've started playing around with the completion suggester to
implement autocomplete functionality in my application and found it pretty
straightforward and simple to use.

The problem I have is that I don't want mixed types in my suggestions: if
have a "music" index with "song" and "artist" types, I want to have "song"
and "artist" autocompletes. From the documentation I get that this doesn't
seem to be supported, so I'm considering having a separate index for each
type. I've readhttp://elasticsearch-users.115913.n3.nabble.com/More-indices-vs-more-types-td3999423.html#a4002051that this is not the best practice, but from the size of my data I presume
I won't be having problems: I have around 10 types, most of them with
around 2000 documents. It's worth noting that I'm just using elasticsearch
for this autocomplete functionality (although I may use it for regular
search eventually).

So I wanted to check if it makes sense modeling my indices that way or if
there's an alternative solution to my problem (for example, using the suggest
plugin https://github.com/spinscale/elasticsearch-suggest-plugin?)

Thanks,
Facundo.

--
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.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/65d950a0-0784-46eb-94c3-7689ab858fe2%40googlegroups.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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAGCwEM9E1D57m%2B1d8HM2jfyawo3COuadybgds2LhzoQv3Lw86w%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Facundo Olano) #3

I see, I'll go with an index per type then, thanks for the answer.

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/ac6dfe21-de37-4b31-8a3a-8d3c76bff9cc%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Tim Bunce) #4

Suggestion requests, including the completion suggester, operate on
specific field names.

So extra type-specific field names can be used to store the suggestion data.

Then, to get suggestions for a particular type you'd query the corresponding
type-specific field name.

Tim.

On Wed, Dec 25, 2013 at 01:28:50AM +0100, Alexander Reelsen wrote:

Hey,
the way the completion suggester is implemented, it does not support filtering by types (neither does
the suggest plugin) - so this makes a pretty clear decision process for your use-case. The reason for
this, is the different approach how suggest data is stored and queried - in a nutshell, the suggest data
structure simply takes the whole index data and uses it for suggestions. The type itself is simply
spoken just another metadata, which cannot be filtered out.
I'd go with the completion suggester if possible (as I wrote the suggest plugin I can tell that the
completion suggester has a way better design, and, obviously, is part of the core).
Hope this helps...
--Alex

On Tue, Dec 24, 2013 at 4:50 PM, Facundo Olano <[1]facundo.olano@gmail.com> wrote:

 Hello, I've started playing around with the completion suggester to implement autocomplete
 functionality in my application and found it pretty straightforward and simple to use.
 The problem I have is that I don't want mixed types in my suggestions: if have a "music" index with
 "song" and "artist" types, I want to have "song" and "artist" autocompletes. From the documentation I
 get that this doesn't seem to be supported, so I'm considering having a separate index for each type.
 [2]I've read that this is not the best practice, but from the size of my data I presume I won't be
 having problems: I have around 10 types, most of them with around 2000 documents. It's worth noting
 that I'm just using elasticsearch for this autocomplete functionality (although I may use it for
 regular search eventually).
 So I wanted to check if it makes sense modeling my indices that way or if there's an alternative
 solution to my problem (for example, using the [3]suggest plugin?)
 Thanks,
 Facundo.

 --
 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
 [4]elasticsearch+unsubscribe@googlegroups.com.
 To view this discussion on the web visit
 [5]https://groups.google.com/d/msgid/elasticsearch/65d950a0-0784-46eb-94c3-7689ab858fe2%40googlegroups.com.
 For more options, visit [6]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.
To view this discussion on the web visit
[7]https://groups.google.com/d/msgid/elasticsearch/CAGCwEM9E1D57m%2B1d8HM2jfyawo3COuadybgds2LhzoQv3Lw86w%40mail.gmail.com.
For more options, visit [8]https://groups.google.com/groups/opt_out.

References

Visible links

  1. mailto:facundo.olano@gmail.com
  2. http://elasticsearch-users.115913.n3.nabble.com/More-indices-vs-more-types-td3999423.html#a4002051
  3. https://github.com/spinscale/elasticsearch-suggest-plugin
  4. mailto:elasticsearch%2Bunsubscribe@googlegroups.com
  5. https://groups.google.com/d/msgid/elasticsearch/65d950a0-0784-46eb-94c3-7689ab858fe2%40googlegroups.com
  6. https://groups.google.com/groups/opt_out
  7. https://groups.google.com/d/msgid/elasticsearch/CAGCwEM9E1D57m%2B1d8HM2jfyawo3COuadybgds2LhzoQv3Lw86w%40mail.gmail.com
  8. 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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/20131227194753.GH1363%40timac.local.
For more options, visit https://groups.google.com/groups/opt_out.


(Facundo Olano) #5

Excellent, I was wondering about such an approach, thanks!

Facundo.

2013/12/27 Tim Bunce Tim.Bunce@pobox.com

Suggestion requests, including the completion suggester, operate on
specific field names.

So extra type-specific field names can be used to store the suggestion
data.

Then, to get suggestions for a particular type you'd query the
corresponding
type-specific field name.

Tim.

On Wed, Dec 25, 2013 at 01:28:50AM +0100, Alexander Reelsen wrote:

Hey,
the way the completion suggester is implemented, it does not support
filtering by types (neither does
the suggest plugin) - so this makes a pretty clear decision process
for your use-case. The reason for
this, is the different approach how suggest data is stored and
queried - in a nutshell, the suggest data
structure simply takes the whole index data and uses it for
suggestions. The type itself is simply
spoken just another metadata, which cannot be filtered out.
I'd go with the completion suggester if possible (as I wrote the
suggest plugin I can tell that the
completion suggester has a way better design, and, obviously, is part
of the core).
Hope this helps...
--Alex

On Tue, Dec 24, 2013 at 4:50 PM, Facundo Olano <[1]
facundo.olano@gmail.com> wrote:

 Hello, I've started playing around with the completion suggester to

implement autocomplete

 functionality in my application and found it pretty straightforward

and simple to use.

 The problem I have is that I don't want mixed types in my

suggestions: if have a "music" index with

 "song" and "artist" types, I want to have "song" and "artist"

autocompletes. From the documentation I

 get that this doesn't seem to be supported, so I'm considering

having a separate index for each type.

 [2]I've read that this is not the best practice, but from the size

of my data I presume I won't be

 having problems: I have around 10 types, most of them with around

2000 documents. It's worth noting

 that I'm just using elasticsearch for this autocomplete

functionality (although I may use it for

 regular search eventually).
 So I wanted to check if it makes sense modeling my indices that way

or if there's an alternative

 solution to my problem (for example, using the [3]suggest plugin?)
 Thanks,
 Facundo.

 --
 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

 [4]elasticsearch+unsubscribe@googlegroups.com.
 To view this discussion on the web visit
 [5]

https://groups.google.com/d/msgid/elasticsearch/65d950a0-0784-46eb-94c3-7689ab858fe2%40googlegroups.com
.

 For more options, visit [6]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.
To view this discussion on the web visit
[7]
https://groups.google.com/d/msgid/elasticsearch/CAGCwEM9E1D57m%2B1d8HM2jfyawo3COuadybgds2LhzoQv3Lw86w%40mail.gmail.com
.
For more options, visit [8]https://groups.google.com/groups/opt_out.

References

Visible links

  1. mailto:facundo.olano@gmail.com

http://elasticsearch-users.115913.n3.nabble.com/More-indices-vs-more-types-td3999423.html#a4002051

  1. https://github.com/spinscale/elasticsearch-suggest-plugin
  2. mailto:elasticsearch%2Bunsubscribe@googlegroups.com

https://groups.google.com/d/msgid/elasticsearch/65d950a0-0784-46eb-94c3-7689ab858fe2%40googlegroups.com

  1. https://groups.google.com/groups/opt_out

https://groups.google.com/d/msgid/elasticsearch/CAGCwEM9E1D57m%2B1d8HM2jfyawo3COuadybgds2LhzoQv3Lw86w%40mail.gmail.com

  1. https://groups.google.com/groups/opt_out

--
You received this message because you are subscribed to a topic in the
Google Groups "elasticsearch" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/elasticsearch/dE1oCifOe7M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/20131227194753.GH1363%40timac.local
.
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKEP69WDdGsuTc5f%3Ds2D4z6mKWdbijbBXeaYi8RWo2XROekOCQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


(system) #6