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?













0















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.










share|improve this question
























  • 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















0















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.










share|improve this question
























  • 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













0












0








0








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.










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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

















  • 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












1 Answer
1






active

oldest

votes


















0














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!






share|improve this answer























  • 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










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



);













draft saved

draft discarded


















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









0














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!






share|improve this answer























  • 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















0














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!






share|improve this answer























  • 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













0












0








0







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!






share|improve this answer













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!







share|improve this answer












share|improve this answer



share|improve this answer










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

















  • 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



















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

1928 у кіно

Захаров Федір Захарович

Ель Греко