Terms aggregation across two fields in ElasticsearchSolr vs. ElasticSearchElasticsearch Terms or Cardinality Aggregation - Order by number of distinct valuesHow to get an Elasticsearch aggregation with multiple fieldsElasticSearch - is aggregation only perform on term?Elasticsearch aggregate by multiple fields separatelyAggregate over last documents in elasticsearchElasticsearch nested significant terms aggregation with background filterElasticsearch - Filter by aggregation valueExclude empty unselected aggregations from elasticsearchCount occurrences in field of terms intersecting another aggregation

How do we properly manage transitions within a descriptive section?

why "American-born", not "America-born"?

Do seaplanes need to get clearance for takeoff?

How to counter "I don't like your tone" in a work conversation?

Are there historical examples of audiences drawn to a work that was "so bad it's good"?

Germany rejected my entry to Schengen countries

Are CTRL+C and <esc> the same?

Is being an extrovert a necessary condition to be a manager?

How to prove the emptiness of intersection of two context free languages is undecidable?

Simple Arithmetic Puzzle 7. Or is it?

Gambler's Fallacy Dice

Does the Aboleth have expertise in History and Perception?

Bash - Execute two commands and get exit status 1 if first fails

Does George B Sperry logo on fold case for photos indicate photographer or case manufacturer?

Filter a file list against an integer array?

Why was Houston selected as the location for the Manned Spacecraft Center?

Why "strap-on" boosters, and how do other people say it?

Do 'destroy' effects count as damage?

Hotel booking: Why is Agoda much cheaper than booking.com?

Why was Harry at the Weasleys' at the beginning of Goblet of Fire but at the Dursleys' after?

Is my company merging branches wrong?

Is there a realtime, uncut video of Saturn V ignition through tower clear?

Warped chessboard

Farthing / Riding



Terms aggregation across two fields in Elasticsearch


Solr vs. ElasticSearchElasticsearch Terms or Cardinality Aggregation - Order by number of distinct valuesHow to get an Elasticsearch aggregation with multiple fieldsElasticSearch - is aggregation only perform on term?Elasticsearch aggregate by multiple fields separatelyAggregate over last documents in elasticsearchElasticsearch nested significant terms aggregation with background filterElasticsearch - Filter by aggregation valueExclude empty unselected aggregations from elasticsearchCount occurrences in field of terms intersecting another aggregation






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I'm not sure what I want to do is possible. I have data that looks like this:




"Actor1Name": "PERSON",
"Actor2Name": "OTHERPERSON"



I use copy_to in order to populate a secondary field, ActorNames, with both values.



I am trying to build a typeahead capability where a user can start to type a name and it will populate with the top hits for that prefix. I want it to search across both actor fields. The only problem is when I search across ActorNames, I get both values even if only one matches. That means if I'm searching for prefix O that I will get both OTHERPERSON (desired) and PERSON (undesired) in my results based on the above document.



My current solution is to run 2 aggregations and combine them client side, but is it possible to do this purely in ES?



Current query:




"query":
"prefix":
"ActorNames": "O"

,
"aggs":
"actor1":
"filter":
"prefix":
"Actor1Name": "O"

,
"aggs":
"actor1":
"terms":
"field": "Actor1Name",



,
"actor2":
"filter":
"prefix":
"Actor2Name": "O"

,
"aggs":
"actor2":
"terms":
"field": "Actor2Name",















share|improve this question




























    0















    I'm not sure what I want to do is possible. I have data that looks like this:




    "Actor1Name": "PERSON",
    "Actor2Name": "OTHERPERSON"



    I use copy_to in order to populate a secondary field, ActorNames, with both values.



    I am trying to build a typeahead capability where a user can start to type a name and it will populate with the top hits for that prefix. I want it to search across both actor fields. The only problem is when I search across ActorNames, I get both values even if only one matches. That means if I'm searching for prefix O that I will get both OTHERPERSON (desired) and PERSON (undesired) in my results based on the above document.



    My current solution is to run 2 aggregations and combine them client side, but is it possible to do this purely in ES?



    Current query:




    "query":
    "prefix":
    "ActorNames": "O"

    ,
    "aggs":
    "actor1":
    "filter":
    "prefix":
    "Actor1Name": "O"

    ,
    "aggs":
    "actor1":
    "terms":
    "field": "Actor1Name",



    ,
    "actor2":
    "filter":
    "prefix":
    "Actor2Name": "O"

    ,
    "aggs":
    "actor2":
    "terms":
    "field": "Actor2Name",















    share|improve this question
























      0












      0








      0








      I'm not sure what I want to do is possible. I have data that looks like this:




      "Actor1Name": "PERSON",
      "Actor2Name": "OTHERPERSON"



      I use copy_to in order to populate a secondary field, ActorNames, with both values.



      I am trying to build a typeahead capability where a user can start to type a name and it will populate with the top hits for that prefix. I want it to search across both actor fields. The only problem is when I search across ActorNames, I get both values even if only one matches. That means if I'm searching for prefix O that I will get both OTHERPERSON (desired) and PERSON (undesired) in my results based on the above document.



      My current solution is to run 2 aggregations and combine them client side, but is it possible to do this purely in ES?



      Current query:




      "query":
      "prefix":
      "ActorNames": "O"

      ,
      "aggs":
      "actor1":
      "filter":
      "prefix":
      "Actor1Name": "O"

      ,
      "aggs":
      "actor1":
      "terms":
      "field": "Actor1Name",



      ,
      "actor2":
      "filter":
      "prefix":
      "Actor2Name": "O"

      ,
      "aggs":
      "actor2":
      "terms":
      "field": "Actor2Name",















      share|improve this question














      I'm not sure what I want to do is possible. I have data that looks like this:




      "Actor1Name": "PERSON",
      "Actor2Name": "OTHERPERSON"



      I use copy_to in order to populate a secondary field, ActorNames, with both values.



      I am trying to build a typeahead capability where a user can start to type a name and it will populate with the top hits for that prefix. I want it to search across both actor fields. The only problem is when I search across ActorNames, I get both values even if only one matches. That means if I'm searching for prefix O that I will get both OTHERPERSON (desired) and PERSON (undesired) in my results based on the above document.



      My current solution is to run 2 aggregations and combine them client side, but is it possible to do this purely in ES?



      Current query:




      "query":
      "prefix":
      "ActorNames": "O"

      ,
      "aggs":
      "actor1":
      "filter":
      "prefix":
      "Actor1Name": "O"

      ,
      "aggs":
      "actor1":
      "terms":
      "field": "Actor1Name",



      ,
      "actor2":
      "filter":
      "prefix":
      "Actor2Name": "O"

      ,
      "aggs":
      "actor2":
      "terms":
      "field": "Actor2Name",












      elasticsearch elasticsearch-6






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 23 at 19:27









      DerekDerek

      805625




      805625






















          1 Answer
          1






          active

          oldest

          votes


















          0














          If you want to check the prefix condition on both the fields, why not use ANDING of prefix on both fields? Like:



          GET /my_index/_search

          "query":
          "bool":
          "must": [

          "prefix":
          "Actor1Name": "O"

          ,

          "prefix":
          "Actor2Name": "O"


          ]








          share|improve this answer























          • Because I want to match documents that have either actor starting with an O but I only want to include in the aggregation those actors that start with an O.

            – Derek
            Mar 24 at 3:32











          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%2f55317546%2fterms-aggregation-across-two-fields-in-elasticsearch%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














          If you want to check the prefix condition on both the fields, why not use ANDING of prefix on both fields? Like:



          GET /my_index/_search

          "query":
          "bool":
          "must": [

          "prefix":
          "Actor1Name": "O"

          ,

          "prefix":
          "Actor2Name": "O"


          ]








          share|improve this answer























          • Because I want to match documents that have either actor starting with an O but I only want to include in the aggregation those actors that start with an O.

            – Derek
            Mar 24 at 3:32















          0














          If you want to check the prefix condition on both the fields, why not use ANDING of prefix on both fields? Like:



          GET /my_index/_search

          "query":
          "bool":
          "must": [

          "prefix":
          "Actor1Name": "O"

          ,

          "prefix":
          "Actor2Name": "O"


          ]








          share|improve this answer























          • Because I want to match documents that have either actor starting with an O but I only want to include in the aggregation those actors that start with an O.

            – Derek
            Mar 24 at 3:32













          0












          0








          0







          If you want to check the prefix condition on both the fields, why not use ANDING of prefix on both fields? Like:



          GET /my_index/_search

          "query":
          "bool":
          "must": [

          "prefix":
          "Actor1Name": "O"

          ,

          "prefix":
          "Actor2Name": "O"


          ]








          share|improve this answer













          If you want to check the prefix condition on both the fields, why not use ANDING of prefix on both fields? Like:



          GET /my_index/_search

          "query":
          "bool":
          "must": [

          "prefix":
          "Actor1Name": "O"

          ,

          "prefix":
          "Actor2Name": "O"


          ]









          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 23 at 21:32









          Yashasvi Raj PantYashasvi Raj Pant

          3101316




          3101316












          • Because I want to match documents that have either actor starting with an O but I only want to include in the aggregation those actors that start with an O.

            – Derek
            Mar 24 at 3:32

















          • Because I want to match documents that have either actor starting with an O but I only want to include in the aggregation those actors that start with an O.

            – Derek
            Mar 24 at 3:32
















          Because I want to match documents that have either actor starting with an O but I only want to include in the aggregation those actors that start with an O.

          – Derek
          Mar 24 at 3:32





          Because I want to match documents that have either actor starting with an O but I only want to include in the aggregation those actors that start with an O.

          – Derek
          Mar 24 at 3:32



















          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%2f55317546%2fterms-aggregation-across-two-fields-in-elasticsearch%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

          SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

          은진 송씨 목차 역사 본관 분파 인물 조선 왕실과의 인척 관계 집성촌 항렬자 인구 같이 보기 각주 둘러보기 메뉴은진 송씨세종실록 149권, 지리지 충청도 공주목 은진현