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;








2















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?










share|improve this question
























  • You need to update the mapping, that is then most efficient solution in the long run

    – Nishant Saini
    Mar 27 at 11:21


















2















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?










share|improve this question
























  • You need to update the mapping, that is then most efficient solution in the long run

    – Nishant Saini
    Mar 27 at 11:21














2












2








2


1






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?










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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


















  • 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













1 Answer
1






active

oldest

votes


















0














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"











share|improve this answer
























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









    0














    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"











    share|improve this answer





























      0














      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"











      share|improve this answer



























        0












        0








        0







        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"











        share|improve this answer













        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"












        share|improve this answer












        share|improve this answer



        share|improve this answer










        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





















            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.



















            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%2f55374426%2felasticsearch-range-query-on-number-in-string-format%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

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript