[英]ReactiveSearch, DataSearch and indexing user query
我正在使用Reactivesearch的DataSearch來實現自動完成功能,並且試圖弄清楚如何將用戶選擇的查詢添加到Appbaseio托管的自動完成索引中?
當我說用戶的選定查詢時,我的意思是鍵入一個查詢或從DataSearch組件下拉列表中選擇一個查詢。
到目前為止,這是我想出的
<DataSearch
componentId="SearchSensor"
dataField={["original_title"]}
className="search-bar"
onValueSelected={
function(value, cause, source) {
console.log("current value: ", value)
}
}
iconPosition="right"
innerclassName={{
list: "text-item"
}}
/>
上面的onValueSelected直接來自docs 。 看來這是我需要處理的屬性。 我只是不確定如何將其連接到我的Appbaseio ES索引?
onValueSelected
是在此處獲取所選值的正確方法。 (如果需要,您還可以使用onQueryChange
獲取完整查詢)。 在onValueSelected
獲取此選定值后,您可以使用簡單的fetch
請求將該值onValueSelected
您的onValueSelected
索引中,或將其發送到后端。 還有一個幫助程序庫 ,您可以嘗試其他文檔 。
另外,我建議將索引邏輯拉到服務器,而不要在客戶端公開,因為您需要寫憑據才能執行寫操作。 這樣可以使您的寫憑據更安全。
例如:
<DataSearch
...
onValueSelected={(value) => {
fetch('YOUR_SERVER_URL' or 'Elasticsearch URL', { method: 'POST', body: {...} })
}
/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.