ElasticSearch: How can matches be sorted by where they are found in the fieldElasticsearch query multi_matchHow to search for a part of a word with ElasticSearchMake elasticsearch only return certain fields?ElasticSearch results aren't relevantGet the number of unique terms in a field in elasticsearchhow can I sort ElasticSearch result properlyQuerying a field having nested objects in ElasticsearchHow to match fields starting with phrase in ElasticsearchHow to get the word count for all the documents based on index and type in elasticsearch?elasticsearch boost query in feild having multiple valueHow to write Elasticsearch DSL multi field and multi term query?
What if somebody invests in my application?
Invariance of results when scaling explanatory variables in logistic regression, is there a proof?
What (else) happened July 1st 1858 in London?
Does "Dominei" mean something?
Are Warlocks Arcane or Divine?
Female=gender counterpart?
Why are all the doors on Ferenginar (the Ferengi home world) far shorter than the average Ferengi?
How to check participants in at events?
Do all polymers contain either carbon or silicon?
Who must act to prevent Brexit on March 29th?
Freedom of speech and where it applies
Can the electrostatic force be infinite in magnitude?
Are taller landing gear bad for aircraft, particulary large airliners?
What was required to accept "troll"?
Can I rely on these GitHub repository files?
Word describing multiple paths to the same abstract outcome
What does the "3am" section means in manpages?
I'm in charge of equipment buying but no one's ever happy with what I choose. How to fix this?
Greatest common substring
Can I Retrieve Email Addresses from BCC?
Why isn't KTEX's runway designation 10/28 instead of 9/27?
Simple recursive Sudoku solver
Reply ‘no position’ while the job posting is still there (‘HiWi’ position in Germany)
How can I raise concerns with a new DM about XP splitting?
ElasticSearch: How can matches be sorted by where they are found in the field
Elasticsearch query multi_matchHow to search for a part of a word with ElasticSearchMake elasticsearch only return certain fields?ElasticSearch results aren't relevantGet the number of unique terms in a field in elasticsearchhow can I sort ElasticSearch result properlyQuerying a field having nested objects in ElasticsearchHow to match fields starting with phrase in ElasticsearchHow to get the word count for all the documents based on index and type in elasticsearch?elasticsearch boost query in feild having multiple valueHow to write Elasticsearch DSL multi field and multi term query?
Example:
We have three documents:
doc1
"field1": "xxxyyyzzz"
doc2
"field1": "yyyxxxzzz"
doc3
"field1": "yyyzzzxxx"
When searching for "xxx", the search result should be:
doc1, doc2, doc3 in this order.
elasticsearch
add a comment |
Example:
We have three documents:
doc1
"field1": "xxxyyyzzz"
doc2
"field1": "yyyxxxzzz"
doc3
"field1": "yyyzzzxxx"
When searching for "xxx", the search result should be:
doc1, doc2, doc3 in this order.
elasticsearch
Does stackoverflow.com/questions/54863990/… solve your problem?
– Vishal Shukla
Mar 7 at 10:21
@Vishal Shukla: We already use ngram tokenizer, all three documents are found but the order is wrong.
– Julia
Mar 7 at 10:27
@VishalShukla: No, stackoverflow.com/questions/54863990/… doesn't solve my problem. The problem is the order of the documents that are found.
– Julia
Mar 7 at 10:41
Added solution. Kindly acknowledge if it solves your problem.
– Vishal Shukla
Mar 8 at 11:19
add a comment |
Example:
We have three documents:
doc1
"field1": "xxxyyyzzz"
doc2
"field1": "yyyxxxzzz"
doc3
"field1": "yyyzzzxxx"
When searching for "xxx", the search result should be:
doc1, doc2, doc3 in this order.
elasticsearch
Example:
We have three documents:
doc1
"field1": "xxxyyyzzz"
doc2
"field1": "yyyxxxzzz"
doc3
"field1": "yyyzzzxxx"
When searching for "xxx", the search result should be:
doc1, doc2, doc3 in this order.
elasticsearch
elasticsearch
edited Mar 7 at 13:49
Vishal Shukla
1,78011017
1,78011017
asked Mar 7 at 10:19
JuliaJulia
1881313
1881313
Does stackoverflow.com/questions/54863990/… solve your problem?
– Vishal Shukla
Mar 7 at 10:21
@Vishal Shukla: We already use ngram tokenizer, all three documents are found but the order is wrong.
– Julia
Mar 7 at 10:27
@VishalShukla: No, stackoverflow.com/questions/54863990/… doesn't solve my problem. The problem is the order of the documents that are found.
– Julia
Mar 7 at 10:41
Added solution. Kindly acknowledge if it solves your problem.
– Vishal Shukla
Mar 8 at 11:19
add a comment |
Does stackoverflow.com/questions/54863990/… solve your problem?
– Vishal Shukla
Mar 7 at 10:21
@Vishal Shukla: We already use ngram tokenizer, all three documents are found but the order is wrong.
– Julia
Mar 7 at 10:27
@VishalShukla: No, stackoverflow.com/questions/54863990/… doesn't solve my problem. The problem is the order of the documents that are found.
– Julia
Mar 7 at 10:41
Added solution. Kindly acknowledge if it solves your problem.
– Vishal Shukla
Mar 8 at 11:19
Does stackoverflow.com/questions/54863990/… solve your problem?
– Vishal Shukla
Mar 7 at 10:21
Does stackoverflow.com/questions/54863990/… solve your problem?
– Vishal Shukla
Mar 7 at 10:21
@Vishal Shukla: We already use ngram tokenizer, all three documents are found but the order is wrong.
– Julia
Mar 7 at 10:27
@Vishal Shukla: We already use ngram tokenizer, all three documents are found but the order is wrong.
– Julia
Mar 7 at 10:27
@VishalShukla: No, stackoverflow.com/questions/54863990/… doesn't solve my problem. The problem is the order of the documents that are found.
– Julia
Mar 7 at 10:41
@VishalShukla: No, stackoverflow.com/questions/54863990/… doesn't solve my problem. The problem is the order of the documents that are found.
– Julia
Mar 7 at 10:41
Added solution. Kindly acknowledge if it solves your problem.
– Vishal Shukla
Mar 8 at 11:19
Added solution. Kindly acknowledge if it solves your problem.
– Vishal Shukla
Mar 8 at 11:19
add a comment |
1 Answer
1
active
oldest
votes
You can use prefix query and wildcard query combined with negative score if that match term is found in the end. This uses the default analyser. Note that this is a performance killer.
POST /test_index/test/_search
"query":
"bool":
"should": [
"prefix":
"field1":
"value": "xxx",
"boost": 15
,
"wildcard":
"field1":
"value": "*xxx*",
"boost": 10
,
"wildcard":
"field1":
"value": "*xxx",
"boost": -5
]
Hope it helps!
This will fulfil the requirement but using wildcard will have a performance hit. Specially the wildcard on both sides :*xxx*
– Nishant Saini
Mar 7 at 15:41
I fully agree, it is a performance killer as mentioned. For this requirement, I don't see better solution either.
– Vishal Shukla
Mar 8 at 11:17
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
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%2f55041316%2felasticsearch-how-can-matches-be-sorted-by-where-they-are-found-in-the-field%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use prefix query and wildcard query combined with negative score if that match term is found in the end. This uses the default analyser. Note that this is a performance killer.
POST /test_index/test/_search
"query":
"bool":
"should": [
"prefix":
"field1":
"value": "xxx",
"boost": 15
,
"wildcard":
"field1":
"value": "*xxx*",
"boost": 10
,
"wildcard":
"field1":
"value": "*xxx",
"boost": -5
]
Hope it helps!
This will fulfil the requirement but using wildcard will have a performance hit. Specially the wildcard on both sides :*xxx*
– Nishant Saini
Mar 7 at 15:41
I fully agree, it is a performance killer as mentioned. For this requirement, I don't see better solution either.
– Vishal Shukla
Mar 8 at 11:17
add a comment |
You can use prefix query and wildcard query combined with negative score if that match term is found in the end. This uses the default analyser. Note that this is a performance killer.
POST /test_index/test/_search
"query":
"bool":
"should": [
"prefix":
"field1":
"value": "xxx",
"boost": 15
,
"wildcard":
"field1":
"value": "*xxx*",
"boost": 10
,
"wildcard":
"field1":
"value": "*xxx",
"boost": -5
]
Hope it helps!
This will fulfil the requirement but using wildcard will have a performance hit. Specially the wildcard on both sides :*xxx*
– Nishant Saini
Mar 7 at 15:41
I fully agree, it is a performance killer as mentioned. For this requirement, I don't see better solution either.
– Vishal Shukla
Mar 8 at 11:17
add a comment |
You can use prefix query and wildcard query combined with negative score if that match term is found in the end. This uses the default analyser. Note that this is a performance killer.
POST /test_index/test/_search
"query":
"bool":
"should": [
"prefix":
"field1":
"value": "xxx",
"boost": 15
,
"wildcard":
"field1":
"value": "*xxx*",
"boost": 10
,
"wildcard":
"field1":
"value": "*xxx",
"boost": -5
]
Hope it helps!
You can use prefix query and wildcard query combined with negative score if that match term is found in the end. This uses the default analyser. Note that this is a performance killer.
POST /test_index/test/_search
"query":
"bool":
"should": [
"prefix":
"field1":
"value": "xxx",
"boost": 15
,
"wildcard":
"field1":
"value": "*xxx*",
"boost": 10
,
"wildcard":
"field1":
"value": "*xxx",
"boost": -5
]
Hope it helps!
answered Mar 7 at 10:42
Vishal ShuklaVishal Shukla
1,78011017
1,78011017
This will fulfil the requirement but using wildcard will have a performance hit. Specially the wildcard on both sides :*xxx*
– Nishant Saini
Mar 7 at 15:41
I fully agree, it is a performance killer as mentioned. For this requirement, I don't see better solution either.
– Vishal Shukla
Mar 8 at 11:17
add a comment |
This will fulfil the requirement but using wildcard will have a performance hit. Specially the wildcard on both sides :*xxx*
– Nishant Saini
Mar 7 at 15:41
I fully agree, it is a performance killer as mentioned. For this requirement, I don't see better solution either.
– Vishal Shukla
Mar 8 at 11:17
This will fulfil the requirement but using wildcard will have a performance hit. Specially the wildcard on both sides :
*xxx*
– Nishant Saini
Mar 7 at 15:41
This will fulfil the requirement but using wildcard will have a performance hit. Specially the wildcard on both sides :
*xxx*
– Nishant Saini
Mar 7 at 15:41
I fully agree, it is a performance killer as mentioned. For this requirement, I don't see better solution either.
– Vishal Shukla
Mar 8 at 11:17
I fully agree, it is a performance killer as mentioned. For this requirement, I don't see better solution either.
– Vishal Shukla
Mar 8 at 11:17
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f55041316%2felasticsearch-how-can-matches-be-sorted-by-where-they-are-found-in-the-field%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
Does stackoverflow.com/questions/54863990/… solve your problem?
– Vishal Shukla
Mar 7 at 10:21
@Vishal Shukla: We already use ngram tokenizer, all three documents are found but the order is wrong.
– Julia
Mar 7 at 10:27
@VishalShukla: No, stackoverflow.com/questions/54863990/… doesn't solve my problem. The problem is the order of the documents that are found.
– Julia
Mar 7 at 10:41
Added solution. Kindly acknowledge if it solves your problem.
– Vishal Shukla
Mar 8 at 11:19