Search string with space in a long text in Elasticsearch
up vote
0
down vote
favorite
I would like to hear from anyone who has a solid structural solution for settings and mapping for an index that will have fields with long text where I can search with spaces.
According to my knowledge, field type must keywords then I can use wildcard, which is not suggested for long text because it will be expensive.
However, is it true?
Thanks,
emsi
elasticsearch
New contributor
add a comment |
up vote
0
down vote
favorite
I would like to hear from anyone who has a solid structural solution for settings and mapping for an index that will have fields with long text where I can search with spaces.
According to my knowledge, field type must keywords then I can use wildcard, which is not suggested for long text because it will be expensive.
However, is it true?
Thanks,
emsi
elasticsearch
New contributor
1
You should try to usematch_prefix
andmatch_phrase_prefix
which should do the job.
– Val
yesterday
Currently, I am using match_phrase_prefix and it just works without changing the mapping, however, there is a catch. When I search for "coffee b then I get "Caffee Bean ...", which is perfect but "Caffee - Bean" is the result too. Should also I use a custom analyzer? I have already tried different options that the query presents.
– emsi
yesterday
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I would like to hear from anyone who has a solid structural solution for settings and mapping for an index that will have fields with long text where I can search with spaces.
According to my knowledge, field type must keywords then I can use wildcard, which is not suggested for long text because it will be expensive.
However, is it true?
Thanks,
emsi
elasticsearch
New contributor
I would like to hear from anyone who has a solid structural solution for settings and mapping for an index that will have fields with long text where I can search with spaces.
According to my knowledge, field type must keywords then I can use wildcard, which is not suggested for long text because it will be expensive.
However, is it true?
Thanks,
emsi
elasticsearch
elasticsearch
New contributor
New contributor
New contributor
asked yesterday
emsi
1
1
New contributor
New contributor
1
You should try to usematch_prefix
andmatch_phrase_prefix
which should do the job.
– Val
yesterday
Currently, I am using match_phrase_prefix and it just works without changing the mapping, however, there is a catch. When I search for "coffee b then I get "Caffee Bean ...", which is perfect but "Caffee - Bean" is the result too. Should also I use a custom analyzer? I have already tried different options that the query presents.
– emsi
yesterday
add a comment |
1
You should try to usematch_prefix
andmatch_phrase_prefix
which should do the job.
– Val
yesterday
Currently, I am using match_phrase_prefix and it just works without changing the mapping, however, there is a catch. When I search for "coffee b then I get "Caffee Bean ...", which is perfect but "Caffee - Bean" is the result too. Should also I use a custom analyzer? I have already tried different options that the query presents.
– emsi
yesterday
1
1
You should try to use
match_prefix
and match_phrase_prefix
which should do the job.– Val
yesterday
You should try to use
match_prefix
and match_phrase_prefix
which should do the job.– Val
yesterday
Currently, I am using match_phrase_prefix and it just works without changing the mapping, however, there is a catch. When I search for "coffee b then I get "Caffee Bean ...", which is perfect but "Caffee - Bean" is the result too. Should also I use a custom analyzer? I have already tried different options that the query presents.
– emsi
yesterday
Currently, I am using match_phrase_prefix and it just works without changing the mapping, however, there is a catch. When I search for "coffee b then I get "Caffee Bean ...", which is perfect but "Caffee - Bean" is the result too. Should also I use a custom analyzer? I have already tried different options that the query presents.
– emsi
yesterday
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
emsi is a new contributor. Be nice, and check out our Code of Conduct.
emsi is a new contributor. Be nice, and check out our Code of Conduct.
emsi is a new contributor. Be nice, and check out our Code of Conduct.
emsi is a new contributor. Be nice, and check out our Code of Conduct.
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
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53237971%2fsearch-string-with-space-in-a-long-text-in-elasticsearch%23new-answer', 'question_page');
}
);
Post as a guest
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
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
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
1
You should try to use
match_prefix
andmatch_phrase_prefix
which should do the job.– Val
yesterday
Currently, I am using match_phrase_prefix and it just works without changing the mapping, however, there is a catch. When I search for "coffee b then I get "Caffee Bean ...", which is perfect but "Caffee - Bean" is the result too. Should also I use a custom analyzer? I have already tried different options that the query presents.
– emsi
yesterday