1<!doctype html> 2<html lang="en" prefix="og: http://ogp.me/ns#"> 3 <head> 4 <link rel="preload" href="/js/jquery-3.7.1.min.js" as="script"/> 5 <link rel="preload" href="/js/bootstrap-v4.3.1.min.js" as="script"/> 6 <link rel="preload" href="/js/handlebars.min-v4.7.6.js" as="script"/> 7 <link rel="preload" href="/js/typeahead.bundle.min.js" as="script"/> 8 <link rel="preload" href="/js/entity-search.js?v=4" as="script"/> 9 10 <meta charset="utf-8"/> 11 <link rel="canonical" href="https://valentin.app/entity-search.html"/> 12 <meta property="og:url" content="https://valentin.app/entity-search.html"/> 13 <meta property="og:type" content="website" /> 14 <meta name="google" value="notranslate"/> 15 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 16 <link rel="shortcut icon" pan-favicon href="https://valentin.app/images/icons/icon-96x96.png"/> 17 <meta name="twitter:card" content="summary_large_image"/> 18 <meta name="twitter:image" content="https://valentin.app/images/entity-search.png"/> 19 <meta property="og:image" content="https://valentin.app/images/entity-search.png"/> 20 <meta name="referrer" content="none"/> 21 <meta name="description" content="A research tool to show the entity search engine Google has hidden in plain sight."/> 22 <meta name="twitter:description" content="A research tool to show the entity search engine Google has hidden in plain sight."/> 23 <meta name="og:description" content="A research tool to show the entity search engine Google has hidden in plain sight."/> 24 <meta name="twitter:site" content="@vorticoncmdr"/> 25 <meta name="twitter:creator" content="@vorticoncmdr"/> 26 <title>Google Entity Search aka interesting finds</title> 27 <meta property="og:title" content="Google Entity Search aka interesting finds"/> 28 <meta name="twitter:title" content="Google Entity Search aka interesting finds"/> 29 30 <link rel="stylesheet" href="css/bootstrap.min.css" /> 31 <link rel="stylesheet" href="css/starter-template.css?t=18" /> 32 <style> 33 #main{text-align:center;} 34 #smartphone{float:left; overflow:hidden; height:1009px; width:452px; border:#464545 solid; border-width:20px 20px; border-radius:4%/2%;margin-bottom:1rem;} 35 #smartphone-iframe{width:100%; height:100%; border-width:0px;} 36 </style> 37 </head> 38 39 <body> 40 <main id="main" class="container" role="main"> 41 <div id="intro"> 42 <div> 43 <h1>Google Entity Search aka interesting finds</h1> 44 <p class="lead">A research tool to show the entity search engine Google has hidden in plain sight.</p> 45 </div> 46 </div> 47 48 <div class="row justify-content-center"> 49 <div class="col-md-6 form-group"> 50 <input id="entity" class="search-input form-control" autocomplete="off" type="text" name="entity" aria-label="entity name (optional for autocomplete)" placeholder="entity name (optional for autocomplete)"/> 51 <input id="regions" class="typeahead form-control" autocomplete="off" type="text" aria-label="autocomplete language & location (default: en US)" placeholder="select language & location (default: en US)" /> 52 <input id="mid" class="search-input form-control" autocomplete="off" type="text" name="mid" aria-label="entity id (required: /m/⦠or /g/â¦)" placeholder="entity id (required: /m/⦠or /g/â¦)" required/> 53 <button id="go" class="btn btn-primary form-control button-search" data-device="smartphone">search</button> 54 </div> 55 </div> 56 <div class="row justify-content-center"> 57 <a id="link" class="col-md-6" href="" target="_blank" rel="noopener">link</a> 58 </div> 59 <div class="row justify-content-center"> 60 <div id="smartphone"> 61 <iframe id="smartphone-iframe" title="smartphone frame" src=""></iframe> 62 </div> 63 </div> 64 65 <div class="row justify-content-center"> 66 <div id="howto" class="text-left col-12 col-sm-12"> 67 <p class="h4">how to use</p> 68 <ol> 69 <li>enter a "entity id" (/m/⦠or /g/â¦) or use autocomplete to find an "entity name"</li> 70 <li>select any language Google supports</li> 71 <li>press "search"</li> 72 </ol> 73 <p class="h4">good to know</p> 74 <p>The entity search result page is only accessible on a mobile device. That is
74why a simulated smartphone is shown on this page. There you can not click the results. If you want to access the serp on a real mobile phone, use the link right above the iframe.</p> 75 <p>Not every entity returns a good or even any results. There is no information on how Google selects those results. It looks like it only features articles but then again the order of those results can not be easily explained.</p> 76 <p class="h4">background</p> 77 <p>Google has a search result feature called "Interesting finds" which features a few results in the onebox and a link to "see full list". There are a few things notable about this.</p> 78 <p>First of all not all languages can access this feature and not all searches get such an onebox. Second: You might get the impression that this is only a slightly different search result page showing different results but still using a keyword based algorithm.</p> 79 <p>Upon further inspection you might notice that the "q"-parameter sporting the query isn't really used for the result page and is only used to provide a headline. (If you change another parameter as well. More about this in a second.) To illustrate that it isn't used I decided to always use "valentin.app" as the "q"-parameter which doesn't lead to any changes in the search result but apears on the page as a title.</p> 80 <p>The real magic is hidden in the "ibp"-parameter. If you look closely you will find that it contains two interesting tidbits. First a section which needs to be changed from "cl_tp:srp" to "cl_tp:ih" (something I found out by accident), as well as section "mid:" and a number.</p> 81 <p>If you are interested in Googles use of entities you might know that Google builds it's knowledge graph on the old Freebase data. Back then the entities all had an id beginning with "/m/â¦". Entities which Google then added and still adds to it's knowledge graph begin with "/g/â¦"</p> 82 <p>The problem I faced and solved is that instead of e.g. "/m/03bby1" the URL contains an integer. But after some fiddling I found out how to translate it.</p> 83 <p>It basically works like an url-shortener. There is a dictionary containing numbers andmost but not all letters of the alphabet as well as the underscore character. Knowing this you can then convert one into another just like you might convert a hex-number into a decimal number.</p> 84 <p>In case you are curious: Feel free to have a look at the <a href="js/entity-search.js">javascript code</a>. I did put the code at the very beginning of the file.</p> 85 <p class="h4">feedback welcome</p> 86 <p>If you like this tool, experience any problems, have ideas for upgrades or just want to say hi, feel free to contact me on Mastodon <a href="https://seocommunity.social/@vorticoncmdr" target="_blank" rel="noopener">@VorticonCmdr</a>.</p> 87 </div> 88 </div> 89 90 <div class="row justify-content-center text-left"> 91 <div class="col-12 col-sm-12"> 92 <p class="h4 card-header">more stuff</p> 93 <div class="list-group"> 94 <a class="list-group-item list-group-item-action text-primary" href="/uule.html">UULE explained</a> 95 <a class="list-group-item list-group-item-action text-primary" href="/whereami.html">See your current location</a> 96 <a class="list-group-item list-group-item-action text-primary" href="/gs-location-changer.html">Google Search Location Changer browser plugin</a> 97 <a class="list-group-item list-group-item-action text-primary" href="/pivot.html">Google people also view</a> 98 <a class="list-group-item list-group-item-action text-primary" href="/topic.html">Google News topic url decoder</a> 99 <a class="list-group-item list-group-item-action text-primary" href="/discover-tracking.html">how to track Google Discover</a> 100 <a class="list-group-item list-group-item-action text-primary" href="/robotsmeta.html">how to not index a url</a> 101 <a class="list-group-item list-group-item-action text-primary" href="/nid.html">
101how to share a Google SERP experiment</a> 102 <a class="list-group-item list-group-item-action text-primary" href="/simulator.html">Google Search Mobile Device Simulator</a> 103 <a class="list-group-item list-group-item-action text-primary" href="/stick.html">Google stick parameter decoder</a> 104 <a class="list-group-item list-group-item-action text-primary" href="/ved.html">Google ved parameter decoder</a> 105 <a class="list-group-item list-group-item-action text-primary" href="/noindex/example1.html">Google noindex experiments</a> 106 </div> 107 </div> 108 </div> 109 110 </main> 111 112
112<script type="text/javascript" src="/js/jquery-3.7.1.min.js"></script>
112 113
113<script type="text/javascript" src="/js/bootstrap-v4.3.1.min.js"></script>
113 114
114<script type="text/javascript" src="/js/handlebars.min-v4.7.6.js"></script>
114 115
115<script type="text/javascript" src="/js/typeahead.bundle.min.js"></script>
115 116
116<script type="text/javascript" src="/js/entity-search.js?v=4"></script>
116 117 118 </body> 119</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.