2013-08-12 27 views
7

bir tip dizinini tanımlayabilir aranabilir modelde farkındadır bir metin alanı türü ve dize alan türü arasındaki temel farklar için nasıl temel bir anlayış elde edebildi:Güneş Leke Raylar arasındaki fark: Metin bir: Örneğin dize: metin yanı sıra:</p> <pre><code>class Post < ActiveRecord::Base searchable do string :title text :title, :body end </code></pre> <p>ben aramaya çalıştı dize türü alanları herkes gibi

  1. metin alan türleri simgeleþtirilmiþ edilir ve bu çok hızlı içlerinde tam metin arama yaparak yapar.
  2. Siparişle yazılmış bir metni sıralamak için order_by i.e'yi kullanamazsınız ve bu alana göre sıralama yapmanız gerekiyorsa bunu şöyle tanımlamanız gerekir: string. benim görüşler tartmak böylece dize veya metin olarak bir alan tanımlarken

Peki ben burada arıyorum bir metin alanı türü ve dize alan türü arasındaki tüm KAVRAMSAL yanı KULLANIMI olarak farklılıklar olduğunu ya da her ikisi de.

Not: Tüm farklılıkları tek bir cevapta sağladığınızı söylemiyorum, cevap başına bir fark yapacaktır, ancak lütfen verdiğiniz farkın zaten verilmediğinden emin olun.

+0

bağlantıyı https://makandracards.com/makandra/10987-scoping-a-sunspot-solr-search-by-text-using-a- takip edebilirsiniz dize alanı –

+0

soruyu sormadan önce bu bağlantıyı okuyun ve benim sorum bu makaleden daha fazla bilgi içeriyor :) –

+0

Bu alanlardan herhangi birinde "hex decimal" veya "ASCII" araması yapabilir misiniz? –

cevap

14

Metin Alanları metin alanları indekslenirken, onların kurucu deyişle bölünmüştür ve daha sonra filtre tanımlanabilen kümesi kullanılarak işlenir

(güneş lekesi varsayılan Solr yüklemesiyle, onlar sadece alt kasalı konum) . Bu işlem belirteç olarak bilinir ve tam metin eşleştirmesi kullanılarak metin alanlarının aranmasına izin verilir. Jetonlaştırma ve Solr wiki http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters'daki mevcut filtre seçenekleri hakkında daha fazla bilgi edinebilirsiniz.

Dize Alanlar

Dize alanları mağaza dize verileri. Bu, metin alanlarından nasıl farklıdır? Bir metin alanı tokenized, yani onun bileşenlerine ayrılıyor; tam metin araması bu şekilde çalışır. Öte yandan, dize alanları, yalnızca olduğu gibi dizine eklenir: Dizinlenmiş veri tam olarak başlangıçtan sonuna kadar olan dizedir.

Dokümanlar

https://github.com/sunspot/sunspot/wiki/Setting-up-classes-for-search-and-indexing

+0

veri türlerine erişmeniz gerekir. mevcut bilgilerime oy verdim, ancak cevabı kabul etmek için biraz bekleyeceğim. –

+1

Teşekkürler adamım, şimdi net – Alexis