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

            How to preserve electronics (computers, tablets and phones) for hundreds of years Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) The network's official Twitter account is up and running again. What content…How might modern humans leave a message for 50,000 years?How would an aquatic race develop computers?How do we make computers care for human life?Keeping supplies for 1000 yearsWhat will cell phones become in 100 years?What body armor protects against a laser?Could a society attain 1800s technology if limited to using copper and bronze?Electricity power (magic) and electronicsScavenging metal resources in post-apocalypse after 100 yearsWhy would precursors create devices that can survive and still work after hundreds of years?

            155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해

            해남서초등학교 학교 연혁 학교 동문 외부 링크 둘러보기 메뉴북위 34° 34′ 21″ 동경 126° 35′ 50″ / 북위 34.5726385° 동경 126.5972670°  / 34.5726385; 126.5972670해남서초등학교eh