
indexisto.comプロジェクトの紹介-サイトとモバイルアプリケーションを検索します。
このプロジェクトはアルファ版です。理解して扱ってください(軽く押してください)。 今すぐ英語の音楽コンテンツで問題をテストしてください。 また、アーリーアダプターも本当に必要です。執筆に興味がある場合は、PMを書いてください。

クロニクル
物語は数年前に私がWindowsからUbuntuに移行したときに始まり、その後Macに移行しました。 このような動きは、1ダースのストーリーを生み出す可能性がありますが、私には1つのことがあります。メインナビゲーションツールとしてオペレーティングシステムによる検索を突然使用し始めました。
どちらのシステムでも、検索は深く統合され、カテゴリ(ファイル、プログラムなど)に分割され、非常に高速に動作し、結果に以前に入力されたクエリを考慮するなど、多くの快適な機能を備えています。 時間の経過とともに、検索は入力された最初の文字から私を理解することを学びました。
また、検索で多くの時間を節約できるときに、他の多くのシナリオに気付き始めました。 Chromeでの「設定」の検索、Skypeでの連絡先の検索、Facebookでの検索による人への切り替え、FirefoxのアドレスバーでのURLヒント、サイトへのアクセス頻度の考慮...
同時に、99%のケースでサイトを検索する状況は憂鬱です。 誰も検索文字列を真剣に受け取らず、考えることに時間を費やさないという感覚が得られます。 はい、そしてハブレにも。
これはすべて始まった)
準備する
志を同じくする人々のチームをまとめて、サイトの「デッド」検索ラインの状況を根本的に変えることができると判断しました)
良い検索と悪い検索の例を探すことから始めました。 新しいサイトに移動して、最初に検索の仕組みを調べました。 その結果、約半年後、Windows 8(快適な気持ち)、new.myspace.com(勇気)、Vkontakte(サービス全体の速度とローカル検索)、および他の多くの小さなものの影響を受けた検索ラインの要件が現れ始めました。
new.myspace.comのメイン画面と重複する「革新的な」検索の例

ユーザー要件
ユーザーが検索に必要な要件があります。
- 速度、私たちはリクエストから結果まで数十ミリ秒について話している
- 最小限の不要なクリック、インスタント検索、ドロップダウン結果からすぐに検索に移動
- 便利。 ユーザーが検索行にアクセスする場合、幅100ピクセルの狭い入力で彼を挟まないでください。
- 1ページあたり2つの検索文字列をすばやく構成する機能-1つはサイト全体でグローバル、2つ目は現在のセクションで
- 高度な検索オプション:カテゴリ、ファセット(タグ)、並べ替え
- スマート検索。 人が以前に探していたもの、他の人がSERPでクリックした場所などを覚えておく必要があります。
- 非常にスマートな検索。 「セミセマンティック」クエリの可能性、例えば「大きな赤いソファ」
最初のポイントでは管理できたと思いますが、最後の2つではプロセス中だと思います)
プログラマー/管理者からの要件:
ほとんどのサイト所有者は検索にあまり熱心ではなく、残りの原則に従ってプログラマに時間を割り当てることに注意してください
- Google Site Searchのような統合-JSを挿入して動作します。 Solr、Sphinxなどの高レベルの検索サーバーが存在しているにもかかわらず、dis_max、tie_breaker、cutoff_frequency、slopなどの会話名を持つ多くの優れたパラメーターは言うまでもなく、それらの最も単純な構成でも時間がかかります。
- コンソールへのアクセスを減らし、ログを読み取り、遅いリクエストをキャッチします。
- マネージャーが「私たちから何を求めているのか」と尋ねた場合、パニックに陥って自己記述統計を作成する必要はありません。
- タスクがさらに2、3の検索を削減する場合、二重の作業を避けます
ここでは、私たちが望んでいたことを達成できたすべてのポイントではありません。特に、私たちの検索はGoogle Site Searchよりも難しいですが、Solr、Sphinxよりも簡単です。
その結果、 http://indexisto.comが誕生しました
indexistoとは何ですか?
- これはクラウドでの全文検索です。 プロジェクトはLuceneおよびElastic Searchテクノロジーを使用して作成され、すべてJavaで記述されています。
- Sphinx、Solrなどの全文検索サーバーをインストール、構成、および監視する必要はありません。
- データベースから直接データをインポートします。 この目的のために、たとえば、プッシュでSELECTタイトル、本文FROM投稿などのクエリを実行するPHPエージェントがインストールされます。データベースでは、特定のテーブルに対してのみ読み取り専用権限を持つユーザーを作成する必要があります。 要求は秘密鍵で署名されます。
- 多くの機能(ウィジェット、ファセット、ヒストグラム、並べ替え)を備えた既製のクイックチューニングJS検索文字列。 挿入は非同期で、50kbです。
- 写真はポンプで排出され、自動的に押されます。 その後、発行テンプレートに挿入できます。
- データ抽出のリクエストが登録され、ラインが設定され、リクエストが行われる便利な管理パネル
- 検索レポート、ログ、インポートレポート
Indexisto管理エリア:

現在、Indexistoはクラウドでの便利な管理パネルを備えた全文検索です。 その過程で、管理者の作業を楽にする多くの問題を解決しました。 たとえば、管理パネルで検索結果を長時間設定して実験することができますが、これらの変更は[検索ボックスをアクティブにする]ボタンをクリックした後にのみサイトに表示されます。 これは、あらゆる変更に非常に役立ちます。
インデックス設定を簡単に複製し、サブセクションごとに別の表示を行うことができます。 私たちが解決した目立たないが複雑な問題があります。 たとえば、Elastic Searchでは、同じインデックス内で既にインデックスが作成されたドキュメントタイプのStringフィールドを取得してIntフィールドに変更することはできません。マッピングには互換性がありません。 この問題は管理者にはわからないように解決しました。新しいインデックスが異なる内部名で作成され、外部名は同じままで、すべての設定が保存されます。
スマート検索への移行
既に、問題の結果のクリックをカウントしています。近い将来、ユーザーの行動によって結果のブーストを構成し、以前に見つかったものによって検索できるようになるでしょう。
もう1つの興味深い機能は、「半意味検索」です。 データベースから直接データを取得するため、非常に興味深いことができます。 たとえば、テキストフィールドのインデックスタグ。 たとえば、DISCO 80を発行してみてください。80年代にディスコをプレイした関連グループが表示されます。

これは確かにロケット科学ではありませんが、たとえば製品のインデックスを作成するときに、より興味深いことができます。
- 製品名:ソファ "Svetlana 5" t
- 製品タイプ:ソファ
- 価格:7000rub
- 色:赤
- 長さ:2400mm
あなたはルールを書くことができます:
- 長さ> 2000mmの場合、同義語を追加:BIG、HUGE、LONG
- 価格が10000未満の場合、同義語を追加:CHEAP、DISCOUNT、SALE
「半意味的な」検索を取得します。次のようなクエリが機能します
- 大きな安いソファ
- 安い赤ソファ
さらに賢い検索に向かってください
Freebase、Dbpedia、その他のハブ上の情報構造化の試みなどのプロジェクトをどれだけ監視しているかはわかりませんが、あなたの利益のために自由に使用できる進歩があります。 詳細に入らない場合は、構造化された情報を抽出できます。
オペレーティングシステムを取引していて、Microsoft Windows製品がある場合は、一般にウィキペディアの右側の列にある多くの追加データで説明を充実させることができます。

したがって、リクエストはあなたのために機能します:
腕のためのOS
現在、プロジェクトは活発に開発されていますが、アーリーアダプターを基本的な機能である無料で接続する準備ができています
書きます。