首页 > 解决方案 > 如何以角度从 algolia 获取特定数据

问题描述

我在角度使用algolia
我试图只从algolia获得特定记录。
我有一个 product_id 并想要记录product_id
这是我到目前为止所做的 -
.html 文件

    <ais-instantsearch [conproducts]>
        <ais-configure [searchParameters]="{ hitsPerPage: 1 }"></ais-configure>
        <ais-hits>
           <ng-template let-hits="hits">
           <div class="row">
                <div class="col-lg-2 col-md-3 col-sm-4 col-6"*ngFor="let hit of hits">
                    {{hit.name}}
                 </div>
           </div>
           </ng-template>
         </ais-hits>
    </ais-instantsearch>

.ts 文件

    const searchClient = algoliasearch(
      environment.algolia_application_id,
      environment.algolia_search_api_key
    );
    
    export class ProductsComponent implements OnInit {
      productsConfig = {
          indexName: 'products',
          searchClient
      };
    }

如何通过algolia中的 id 获取特定数据?
任何帮助将不胜感激,
谢谢

标签: angularalgoliainstantsearch.js

解决方案


通过阅读algolia文档的这一页:

https://www.algolia.com/doc/api-reference/api-methods/search/

.ts 文件

const searchClient = algoliasearch(
      environment.algolia_application_id,
      environment.algolia_search_api_key
    );
    
    export class ProductsComponent implements OnInit {

      hits: any;

      productsConfig = {
          indexName: 'products',
          searchClient
      };

      OnInit(){
           const index = searchClient.initIndex(productsConfig.indexName);

           index.search('query string', {
                    attributesToRetrieve: ['name','firstname', 'lastname'],
                    hitsPerPage: 50,
            }).then(({ hits }) => {
                console.log(hits); // check the console 
                this.hits = hits;
           });
      }
    }

推荐阅读