我有一个使用Algoia InstantSearch库的React应用程序。这一个https://community.algolia.com/react-instantsearch/
<InstantSearch
appId="KJH78673IUH"
apiKey="e55e048w7fh8wh8wrgh834c3ea51e3"
indexName="Events"
>
<Configure hitsPerPage={10} />
<SearchBox />
<h3>Latest Events</h3>
<Hits />
<Index indexName="Venues">
<h3>Latest Venues</h3>
<Hits />
</Index>
<Index indexName="Users">
<h3>Latest Users</h3>
<Hits />
</Index>
</InstantSearch>这可以很好地工作,并在我键入时拉取结果。然而。在每个事件、地点和用户记录上,我都有一个属性site_id。我正在努力弄清楚如何才能将site_id设置为搜索查询中的默认范围。沿着default_scope在Rails中的工作原理。我相信这是可能的,但没能弄清楚。
任何帮助都将不胜感激!
发布于 2018-05-15 04:27:34
我想出了如何使用VirtualWidgets来做这件事。
https://community.algolia.com/react-instantsearch/connectors/connectMenu.html
我在作用域中使用了以下方法对特定属性进行索引:
import { connectMenu } from 'react-instantsearch/connectors';
const VirtualMenu = connectMenu(() => null);
// RESET OF COMPONENT CODE
<InstantSearch
appId="KJH78673IUH"
apiKey="e55e048w7fh8wh8wrgh834c3ea51e3"
indexName="Events"
/>
<Configure hitsPerPage={10} />
<VirtualMenu attribute="site_id" defaultRefinement="1" />
<SearchBox />
<h3>Latest Events</h3>
<Hits />
<Index indexName="Venues">
<h3>Latest Venues</h3>
<Hits />
</Index>
<Index indexName="Users">
<h3>Latest Users</h3>
<Hits />
</Index>
</InstantSearch>您还可以将VirtualWidget添加到Index块本身。
https://stackoverflow.com/questions/50319274
复制相似问题