🚀 性能
您所寻找的
性能驱动着曼提科搜索的发展。我们致力于实现低响应时间,这对分析大型数据集至关重要。吞吐量也是一个关键考量,允许曼提科每秒处理大量查询。曼提科搜索是最快的开源搜索引擎,适用于大数据和向量搜索。
性价比高的搜索引擎
曼提科搜索是用户最友好、最易获取、性价比高的搜索数据库。我们在效率方面表现出色,即使在配置较小的VM/容器设置上,最小资源如1个核心和1GB内存,也 能提供令人印象深刻的速度 。曼提科搜索旨在处理广泛的使用案例,并在各规模操作中提供强大的性能和资源效率。请在我们的基准测试中 查看 曼提科如何在各种场景中超越其他解决方案。
向量搜索
通过曼提科搜索发现语义和向量搜索的强大能力。了解更多内容,请查看我们关于 曼提科中的向量搜索 和 将向量搜索集成到GitHub 的文章。

Elasticsearch替代品
曼提科搜索是Elasticsearch的强大替代品。与 Logstash和Beats 集成,可以在处理1000万条Nginx日志数据集时提高高达 29倍的性能 。对于日志分析,曼提科还可以与Kibana无缝协作,提供更好的性能。了解更多信息,请查看我们的对比文章: 曼提科搜索与Elasticsearch的日志分析比较 。了解曼提科如何在 各种使用案例 中提升搜索速度。
专业服务
虽然曼提科是100%开源的,但我们在这里帮助您充分利用它!
✓ 咨询:节省您团队的时间和资源,同时加快开发速度
✓ 微调:确保您的实例在最佳性能下运行
✓ 功能开发:根据您的业务需求定制功能
了解更多关于 我们全套服务 的信息。
真正的开源
我们热爱开源。Manticore Search 和其他公开可用的 Manticore 产品都是免费的,并根据 OSI批准的开源许可证 发布。欢迎在 GitHub 上贡献。
易于使用
了解如何使用流行编程语言轻松使用 Manticore Search。
在 1分钟 内用几行代码设置并 执行搜索。
curl localhost:9308/_bulk -H "Content-Type: application/x-ndjson" -d '
{ "index" : { "_index" : "tbl" } }
{ "title" : "斜挎包", "price": 19.85}
{ "index" : { "_index" : "tbl" } }
{ "title" : "超细纤维床单", "price": 19.99}
'
# 高亮搜索
curl localhost:9308/search -d '
{
"index": "tbl",
"query": {
"match": {
"*": "包"
}
},
"highlight": {
"fields": ["title"]
}
}'
create table products(title text, price float) morphology='stem_en';
insert into products(title,price) values ('带流苏的斜挎包', 19.85), ('超细纤维床单套', 19.99), ('宠物毛发去除手套', 7.99);
select id, highlight(), price from products where match('去除毛发');
curl "localhost:9308/sql?mode=raw" -d "INSERT INTO mytable (title, price) VALUES ('斜挎包', 19.85), ('超细纤维床单', 19.99)"
curl localhost:9308/sql -d "SELECT *, HIGHLIGHT() FROM mytable WHERE MATCH('包')"
use Manticoresearch\{Index, Client};
$client = new Client(['host'=>'127.0.0.1','port'=>9308]);
$table = $client->index('products');
$table->addDocument(['title' => '斜挎包', 'price' => 19.85]);
$table->addDocument(['title' => '超细纤维床单', 'price' => 19.99]);
# 高亮搜索
$result = $table->search('包')->highlight(['title'])->get();
var Manticoresearch = require('manticoresearch');
var client= new Manticoresearch.ApiClient()
client.basePath="http://127.0.0.1:9308";
indexApi = new Manticoresearch.IndexApi(client);
searchApi = new Manticoresearch.SearchApi(client);
res = await indexApi.insert({"index": "products", "doc" : {"title" : "带流苏的斜挎包", "price" : 19.85}});
res = await indexApi.insert({"index": "products", "doc" : {"title" : "超细纤维床单套", "price" : 19.99}});
res = await searchApi.search({"index": "products", "query": {"query_string": "@title 包"}, "highlight": {"fieldnames": ["title"]}});
import {Configuration, IndexApi, SearchApi, UtilsApi} from "manticoresearch-ts";
const config = new Configuration({
basePath: 'http://localhost:9308',
})
const indexApi = new IndexApi(config);
const searchApi = new SearchApi(config);
await indexApi.insert({index : 'products', id : 1, doc : {title : '带流苏的斜挎包'}});
await indexApi.insert({index : 'products', id : 2, doc : {title : '宠物毛发去除手套'}});
const res = await searchApi.search({
index: 'products',
query: { query_string: {'包'} },
});
import manticoresearch
config = manticoresearch.Configuration(
host = "http://127.0.0.1:9308"
)
client = manticoresearch.ApiClient(config)
indexApi = manticoresearch.IndexApi(client)
searchApi = manticoresearch.SearchApi(client)
indexApi.insert({"index": "products", "doc" : {"title" : "带流苏的斜挎包", "price" : 19.85}})
indexApi.insert({"index": "products", "doc" : {"title" : "宠物毛发去除手套", "price" : 7.99}})
searchApi.search({"index": "products", "query": {"query_string": "@title 包"}, "highlight":{"fieldnames":["title"]}})
import (
"context"
manticoreclient "github.com/manticoresoftware/manticoresearch-go"
)
configuration := manticoreclient.NewConfiguration()
configuration.Servers[0].URL = "http://localhost:9308"
apiClient := manticoreclient.NewAPIClient(configuration)
tableName := "products"
indexDoc := map[string]interface{} {"title": "带流苏的斜挎包"}
indexReq := manticoreclient.NewInsertDocumentRequest(tableName, indexDoc)
indexReq.SetId(1)
apiClient.IndexAPI.Insert(context.Background()).InsertDocumentRequest(*indexReq).Execute();
indexDoc = map[string]interface{} {"title": "宠物毛发去除手套"}
indexReq = manticoreclient.NewInsertDocumentRequest(tableName, indexDoc)
indexReq.SetId(2)
apiClient.IndexAPI.Insert(context.Background()).InsertDocumentRequest(*indexReq).Execute()
searchRequest := manticoreclient.NewSearchRequest(tableName)
query := map[string]interface{} {"query_string": "包"}
searchRequest.SetQuery(query)
res, _, _ := apiClient.SearchAPI.Search(context.Background()).SearchRequest(*searchRequest).Execute()
import com.manticoresearch.client.*;
import com.manticoresearch.client.model.*;
import com.manticoresearch.client.api.*;
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("http://127.0.0.1:9308");
IndexApi indexApi = new IndexApi(client);
SearchApi searchApi = new SearchApi(client);
// 插入文档 1
InsertDocumentRequest newdoc = new InsertDocumentRequest();
HashMap<String,Object> doc = new HashMap<String,Object>(){{
put("title", "带流苏的斜跨包");
put("price", 19.85);
}};
newdoc.index("products").setDoc(doc);
sqlresult = indexApi.insert(newdoc);
// 插入文档 2
newdoc = new InsertDocumentRequest();
doc = new HashMap<String,Object>(){{
put("title","超细纤维床单套件");
put("price", 19.99);
}};
newdoc.index("products").setDoc(doc);
sqlresult = indexApi.insert(newdoc);
// 搜索
query = new HashMap<String,Object>();
query.put("query_string", "@title 包");
searchRequest = new SearchRequest();
searchRequest.setIndex("products");
searchRequest.setQuery(query);
Highlight highlight = new Highlight();
highlight.setFieldnames( Arrays.asList("title") );
searchRequest.setHighlight(highlight);
searchResponse = searchApi.search(searchRequest);
人们对Manticore Search的评价
不要只听我们说,听听我们可爱的用户怎么说!