.png)
-
Ruby
-
Rails
-
Python
-
Django
-
Php
-
Symfony
-
Laravel
-
JavaScript
-
Java
-
Scala
-
Go
-
C#
-
Kotlin
-
Swift
-
JavaScript
-
React
-
Android
-
Vue
-
Angular
-
IOS
-
Php
-
Ruby
-
JavaScript
-
Python
-
Swift
-
Android
-
C#
-
Java
-
Go
-
Scala
my_index = client.init_index('contacts')
my_index.save_object({
firstname: "Jimmie",
lastname: "Barninger",
company: "California Paint"
})
class Contact < ActiveRecord::Base
include AlgoliaSearch
algoliasearch do
attribute :firstname, :lastname, :company
end
end
myIndex = apiClient.init_index("contacts")
myIndex.save_object({
"firstname": "Jimmie",
"lastname": "Barninger",
"company": "California Paint"
})
from algoliasearch_django import AlgoliaIndex
from algoliasearch_django.decorators import register
@register(YourModel)
class YourModelIndex(AlgoliaIndex):
fields = ('firstname', 'lastname', 'company')
$myIndex = $apiClient->initIndex("contacts");
$myIndex->saveObject([
"firstname" => "Jimmie",
"lastname" => "Barninger",
"company" => "California Paint",
]);
/**
* @ORM\Entity
*/
class Contact {
/**
* @var string
*
* @ORM\Column(name="firstname", type="string")
* @Group({searchable})
*/
protected $firstname;
/**
* @var string
*
* @ORM\Column(name="lastname", type="string")
* @Group({searchable})
*/
protected $lastname;
/**
* @var string
*
* @ORM\Column(name="company", type="string")
* @Group({searchable})
*/
protected $company;
}
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
class Contact extends Model {
use Searchable;
}
const myIndex = apiClient
.initIndex('contacts');
myIndex.saveObject({
firstname: 'Jimmie',
lastname: 'Barninger',
company: 'California Paint',
});
Index<Contact> index = client
.initIndex("contacts", Contact.class);
index.saveObject(
new Contact()
.setFirstname("Jimmie")
.setLastname("Barninger")
.setCompany("California Paint")
);
import algolia.AlgoliaDsl._
import scala.concurrent.ExecutionContext.Implicits.global
case class Contact(
firstname: String,
lastname: String,
company: String
)
val indexing: Future[Indexing] = client.execute {
index into "contacts" `object` Contact(
"Jimmie",
"Barninger",
"California Paint"
)
}
object := map[string]string{
"firstname": "Jimmie",
"lastname": "Barninger",
"company": "California Paint"
}
res, err := index.SaveObject(object)
SearchIndex index = client.InitIndex("contacts");
var contact = new Contact {
FirstName = "Jimmie",
LastName = "Barninger",
Company = "California Paint"
};
index.SaveObject(contact);
val index = client.initIndex(IndexName("contacts"))
val json = json {
"firstname" to "Jimmie"
"lastname" to "Barninger"
"company" to "California Paint" }
index.saveObject(json)
let myIndex = apiClient.getIndex("contacts")
let n = [
"firstname": "Jimmie",
"lastname": "Barninger",
"company": "California Paint"
]
myIndex.saveObject(n)
<div id="searchbox"></div>
<div id="refinement"></div>
<div id="hits"></div>
<script>
const {
searchBox,
hits
} = instantsearch.widgets;
search.addWidgets([
searchBox({
container: "#searchbox"
}),
hits({
container: "#hits"
}),
refinementList({
container: "#refinement",
attribute: "company"
}),
]);
search.start();
</script>
const App = () => (
<InstantSearch>
<SearchBox />
<Hits />
<Pagination />
<RefinementList
attribute="company"
/>
</InstantSearch>
);
<RelativeLayout
xmlns:algolia="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.algolia.instantsearch.ui.views.SearchBox
android:id="@+id/search_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<com.algolia.instantsearch.ui.views.Stats
android:id="@+id/search_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<com.algolia.instantsearch.ui.views.Hits
android:layout_width="match_parent"
android:layout_height="wrap_content"
algolia:itemLayout="@layout/hits_item"/>
</RelativeLayout>
<ais-instant-search>
<ais-search-box />
<ais-refinement-list
attribute="company"
/>
<ais-hits />
<ais-pagination />
</ais-instant-search>
<ais-instantsearch>
<ais-search-box></ais-search-box>
<ais-refinement-list
[attribute]="company"
></ais-refinement-list>
<ais-hits></ais-hits>
</ais-instantsearch>
import InstantSearch
override func viewDidLoad() {
super.viewDidLoad()
let searchBar = SearchBarWidget(frame: ...)
let statsWidget = StatsLabelWidget(frame: ...)
self.view.addSubview(searchBar)
self.view.addSubview(statsWidget)
InstantSearch.shared.registerAllWidgets(in: self.view)}
$insights = AlgoliaAlgoliaSearchInsightsClient::create(
'ALGOLIA_APP_ID',
'ALGOLIA_API_KEY'
);
$insights->user("user-123456")->clickedObjectIDsAfterSearch(
'Product Clicked',
'products',
['9780545139700'],
[7],
'cba8245617aeace44'
);
insights = Algolia::Insights::Client.create('ALGOLIA_APP_ID', 'ALGOLIA_API_KEY')
insights.user('user-123456').clicked_object_ids_after_search(
'Product Clicked',
'products',
['9780545139700'],
[7],
'cba8245617aeace44'
)
// This requires installing the search-insights separate library:
// https://github.com/algolia/search-insights.js
// https://www.npmjs.com/package/search-insights
aa('clickedObjectIDsAfterSearch', {
userToken: 'user-123456',
eventName: 'Product Clicked',
index: 'products',
queryID: 'cba8245617aeace44',
objectIDs: ['9780545139700'],
positions: [7],
});
insights = client.init_insights_client().user('user-123456')
insights.clicked_object_ids_after_search(
'Product Clicked',
'products',
['9780545139700'],
[7],
'cba8245617aeace44'
)
Insights.register(
appId: "ALGOLIA_APP_ID",
apiKey: "ALGOLIA_API_KEY",
userToken: "user-123456"
)
Insights.shared?.clickedAfterSearch(
eventName: "Product Clicked",
indexName: "products",
objectIDs: ["9780545139700"],
positions: [7],
queryID: "cba8245617aeace44"
)
Insights.register(
context,
"ALGOLIA_APP_ID",
"ALGOLIA_API_KEY",
"user-123456"
)
Insights.shared?.clickedAfterSearch(
"Product Clicked",
"products",
"cba8245617aeace44",
EventObjects.IDs("9780545139700"),
listOf(7)
)
var insights = new InsightsClient(
"ALGOLIA_APP_ID",
"ALGOLIA_API_KEY"
).User("user-123456");
insights.ClickedObjectIDsAfterSearch(
"Product Clicked",
"products",
new List<string> { "9780545139700" },
new List<uint> { 7 },
"cba8245617aeace44"
);
AsyncUserInsightsClient insights = new AsyncInsightsClient(
"ALGOLIA_APP_ID",
"ALGOLIA_API_KEY",
client
).user("user-123456");
insights.clickedObjectIDsAfterSearch(
"Product Clicked",
"products",
Arrays.asList("9780545139700"),
new ArrayList<>(Arrays.asList(7l)),
"cba8245617aeace44"
);
client := insights.NewClient(
"ALGOLIA_APP_ID",
"ALGOLIA_API_KEY",
).User("user-123456")
res, err := client.ClickedObjectIDsAfterSearch(
"Product Clicked",
"products",
[]string{"9780545139700"},
[]int{7},
"cba8245617aeace44",
)
client.execute {
send event ClickedObjectIDsAfterSearch(
"user-123456",
"Product Clicked",
"products",
Seq("9780545139700"),
Seq(7),
"cba8245617aeace44"
)
}
using any of our API clients.
from customizable UI libraries with reusable components.