定制 elliotsawyer/silverstripe-typesense 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

elliotsawyer/silverstripe-typesense

最新稳定版本:2.0.2

Composer 安装命令:

composer require elliotsawyer/silverstripe-typesense

包简介

Typesense is Lightning-fast, Open Source Search. No PhD required. Open Source alternative to Algolia + Pinecone + and an Easier-to-Use alternative to ElasticSearch and Solr. Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences. This enables Silverstripe to wo

README 文档

README

Author: Elliot Sawyer

Repository: https://codeberg.org/0x/silverstripe-typesense

Docs: https://0x.codeberg.page/silverstripe-typesense/

Live demos: https://sawyer.nz/demos

Supercharge Your Search With TypesenseA demo embedded on the Typesense homepage

Typesense is lightning-fast, open source search - no PhD required! It is an open source alternative to Algolia and an easier-to-use alternative to ElasticSearch and Solr. It offers fast, typo-tolerant, in-memory fuzzy search for building delightful search experiences.

This module was created to create a searchable Silverstripe website using Typesense for indexing. It provides highly performant, nearly-instant, and often sub-millisecond response times.

Typesense supports:

  • Faceting
  • Sorting
  • Curated searches
  • Synonyms
  • Scoped, key-protected search
  • Geospatial searches
  • Machine learning and GPU-enhanced searches
  • Automatic schema detection
  • Analytics
  • Document text extraction
  • Multi-language support, including macron recognition and non-Latin characters.
  • Federated search

Quick start

Set your global API key in .env or your environment variables. This can be any value, but make sure it is secret and not easily guessable:

#'head /dev/urandom | shasum -a 256' works great for this
TYPESENSE_API_KEY=5f02d0b58c49a99e8e8f65b74ebb9fdc5b1a2dfe56639bdc8551650900435f33

# this is your INTERNALLY accessible typesense server, not the one that appears in frontend
# see docs/07-searching.md for more info
TYPESENSE_SERVER="http://internal-hostname:8108"

# this is obtained from the Typesense dashboard, after you've started it up
# see docs/07-searching.md
TYPESENSE_SEARCH_KEY=""

Install the module:

composer require elliotsawyer/silverstripe-typesense

Set up a collection in the CMS, or set it up initially with YML:

ElliotSawyer\SilverstripeTypesense\Typesense:
  collections:
    Page:
      name: Pages
      fields:
        - { name: Title, type: string, sort: true }
        - { name: Content, type: string, optional: true }
        - { name: Link, type: string, index: false, optional: true}
        - { name: Tags, type: string[], facet: true, optional: true, sort: false}
        - { name: Subsite, type: string, facet: true}

Run vendor/bin/sake dev/tasks TypesenseSyncTask

SSL Verification

You can instruct the Typesense PHP client to not verify the SSL certificate of the Typesense server. This is used for local development, or if Typesense is reverse-proxy'ed behind a webserver with a self-hosted certificate. This will use \Http\Client\Curl\Client since Typesense-PHP requires it; however, if GuzzleHttp\Client is present this will be used instead.

---
Name: typesense-ssl-dev
Only:
  environment: dev
---
ElliotSawyer\SilverstripeTypesense\Typesense:
  disable_ssl_verification: true

Versioning and support

This module roughly follows semantic versioning and tries to follow the latest version of Typesense and the Typesense SDK, but this is not always possible across versions. Major upgrades will align with major versions of Silverstripe. Support for the module will only officially follow supported Silverstripe versions

  • main - latest bleeding-edge stuff. May break things, so stick to stable tags.
  • 0.x - this initial proof-of-concept build targets Silverstripe 4.13.
  • 1.x - this branch (and its tags) will drop Silverstripe 4 support and target Silverstripe 5.4 on PHP 8.1. No new features are planned for this branch, but I will provide security and bug fixes where applicable as long as SS5 is supported.
  • 2.x - this branch (and its tags) will drop Silverstripe 5 support and target Silverstripe 6 only. Most new features will be found in here.

Paid support for end-of-life installations is always available.

Documentation

Copyright statements

This software includes contributions from Elliot Sawyer, available under the LGPL3-With-Attribution license. This attribution statement is required to be shipped with the module, and is displayed within your application. These will appear in certain areas of your application where the module is being used.

Support

Like my work? Consider shouting me a coffee or a small donation if this module helped you solve a problem. I accept cryptocurrency at the following addresses:

  • Bitcoin: 12gSxkqVNr9QMLQMMJdWemBaRRNPghmS3p
  • Bitcoin Cash: 1QETPtssFRM981TGjVg74uUX8kShcA44ni
  • Litecoin: LbyhaTESx3uQvwwd9So4sGSpi4tTJLKBdz

Paid support is available. Please get in touch at https://sawyer.nz/contact

统计信息

  • 总下载量: 457
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0-or-later
  • 更新时间: 2024-06-30

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固