Elasticsearch range query on number in string formatHow to search for a part of a word with ElasticSearchSolr vs. ElasticSearchElasticsearch range query for stringElasticSearch - Range filter by date is not working,elasticsearch bool query combine must with ORRanged Query with ElasticSearchHow to convert this SQL query to an Elasticsearch query?Elasticsearch. Range query for strings with dashesElasticsearch date range query using two fieldsHow to use price range with nested query in ElasticSearch?
How was the murder committed?
How can I see if the data in a SQL Server table is page-compressed?
Word for an event that will likely never happen again
How much can I judge a company based on a phone screening?
Symbol: Put a smile symbol under a plus
Does fossil fuels use since 1990 account for half of all the fossil fuels used in history?
How to find directories containing only specific files
Case Condition for two lines
In which case does the Security misconfiguration vulnerability apply to?
How to remove ambiguity: "... lives in the city of H, the capital of the province of NS, WHERE the unemployment rate is ..."?
Are there really no countries that protect Freedom of Speech as the United States does?
Can lodestones be used to magnetize crude iron weapons?
How to "add" units to results of pgfmathsetmacro?
Why did IBM make public the PC BIOS source code?
Are differences between uniformly distributed numbers uniformly distributed?
Scam? Phone call from "Department of Social Security" asking me to call back
Graphs for which a calculus student can reasonably compute the arclength
Are those flyers about apartment purchase a scam?
How would timezones work on a planet 100 times the size of our Earth
Markov-chain sentence generator in Python
How big are the Choedan Kal?
What kind of liquid can be seen 'leaking' from the upper surface of the wing of a Boeing 737-800?
Why are Tucker and Malcolm not dead?
What is the difference between 王 and 皇?
Elasticsearch range query on number in string format
How to search for a part of a word with ElasticSearchSolr vs. ElasticSearchElasticsearch range query for stringElasticSearch - Range filter by date is not working,elasticsearch bool query combine must with ORRanged Query with ElasticSearchHow to convert this SQL query to an Elasticsearch query?Elasticsearch. Range query for strings with dashesElasticsearch date range query using two fieldsHow to use price range with nested query in ElasticSearch?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I have an Elasticsearch
index as follows
"Price": "50.99"
,
"Price": "30.99"
,
"Price": "40.99"
,
"Price": "10.99"
I'm trying to fetch the documents based on a range of price
. I want to return the documents with a price range of 30-100
. But it is not returning any document.
GET index_name/_search
"query":
"bool":
"must": [
"range": "Price": "gte": 40, "lte": 100
]
Since the Price
is in String format I'm not able to fetch the documents. I don't have previledges to change the index
. Is there a way to query it without changing the index?
elasticsearch
add a comment |
I have an Elasticsearch
index as follows
"Price": "50.99"
,
"Price": "30.99"
,
"Price": "40.99"
,
"Price": "10.99"
I'm trying to fetch the documents based on a range of price
. I want to return the documents with a price range of 30-100
. But it is not returning any document.
GET index_name/_search
"query":
"bool":
"must": [
"range": "Price": "gte": 40, "lte": 100
]
Since the Price
is in String format I'm not able to fetch the documents. I don't have previledges to change the index
. Is there a way to query it without changing the index?
elasticsearch
You need to update the mapping, that is then most efficient solution in the long run
– Nishant Saini
Mar 27 at 11:21
add a comment |
I have an Elasticsearch
index as follows
"Price": "50.99"
,
"Price": "30.99"
,
"Price": "40.99"
,
"Price": "10.99"
I'm trying to fetch the documents based on a range of price
. I want to return the documents with a price range of 30-100
. But it is not returning any document.
GET index_name/_search
"query":
"bool":
"must": [
"range": "Price": "gte": 40, "lte": 100
]
Since the Price
is in String format I'm not able to fetch the documents. I don't have previledges to change the index
. Is there a way to query it without changing the index?
elasticsearch
I have an Elasticsearch
index as follows
"Price": "50.99"
,
"Price": "30.99"
,
"Price": "40.99"
,
"Price": "10.99"
I'm trying to fetch the documents based on a range of price
. I want to return the documents with a price range of 30-100
. But it is not returning any document.
GET index_name/_search
"query":
"bool":
"must": [
"range": "Price": "gte": 40, "lte": 100
]
Since the Price
is in String format I'm not able to fetch the documents. I don't have previledges to change the index
. Is there a way to query it without changing the index?
elasticsearch
elasticsearch
asked Mar 27 at 10:00
rmn.nishrmn.nish
3901 gold badge3 silver badges17 bronze badges
3901 gold badge3 silver badges17 bronze badges
You need to update the mapping, that is then most efficient solution in the long run
– Nishant Saini
Mar 27 at 11:21
add a comment |
You need to update the mapping, that is then most efficient solution in the long run
– Nishant Saini
Mar 27 at 11:21
You need to update the mapping, that is then most efficient solution in the long run
– Nishant Saini
Mar 27 at 11:21
You need to update the mapping, that is then most efficient solution in the long run
– Nishant Saini
Mar 27 at 11:21
add a comment |
1 Answer
1
active
oldest
votes
Best way : Change the field type to float
But anyway if you want to keep the field type is string you can use painless script to do that. i.e
GET index_name/_search
"query":
"bool":
"must":
"script":
"script":
"inline": "Float.parseFloat(doc['Price.keyword'].value) >= 40 && Float.parseFloat(doc['Price.keyword'].value) <= 100",
"lang": "painless"
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%2f55374426%2felasticsearch-range-query-on-number-in-string-format%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
Best way : Change the field type to float
But anyway if you want to keep the field type is string you can use painless script to do that. i.e
GET index_name/_search
"query":
"bool":
"must":
"script":
"script":
"inline": "Float.parseFloat(doc['Price.keyword'].value) >= 40 && Float.parseFloat(doc['Price.keyword'].value) <= 100",
"lang": "painless"
add a comment |
Best way : Change the field type to float
But anyway if you want to keep the field type is string you can use painless script to do that. i.e
GET index_name/_search
"query":
"bool":
"must":
"script":
"script":
"inline": "Float.parseFloat(doc['Price.keyword'].value) >= 40 && Float.parseFloat(doc['Price.keyword'].value) <= 100",
"lang": "painless"
add a comment |
Best way : Change the field type to float
But anyway if you want to keep the field type is string you can use painless script to do that. i.e
GET index_name/_search
"query":
"bool":
"must":
"script":
"script":
"inline": "Float.parseFloat(doc['Price.keyword'].value) >= 40 && Float.parseFloat(doc['Price.keyword'].value) <= 100",
"lang": "painless"
Best way : Change the field type to float
But anyway if you want to keep the field type is string you can use painless script to do that. i.e
GET index_name/_search
"query":
"bool":
"must":
"script":
"script":
"inline": "Float.parseFloat(doc['Price.keyword'].value) >= 40 && Float.parseFloat(doc['Price.keyword'].value) <= 100",
"lang": "painless"
answered Mar 27 at 11:43
Ashraful IslamAshraful Islam
9,2152 gold badges22 silver badges37 bronze badges
9,2152 gold badges22 silver badges37 bronze badges
add a comment |
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
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%2f55374426%2felasticsearch-range-query-on-number-in-string-format%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
You need to update the mapping, that is then most efficient solution in the long run
– Nishant Saini
Mar 27 at 11:21