日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

solr 的 field, copyfield ,dynamic field

發(fā)布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 solr 的 field, copyfield ,dynamic field 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Field:

? ?Field就是一個字段,定義一個Field很簡單:

?

[html]?view plaincopy
  • <field?name="price"?type="sfloat"?indexed="true"?stored="true"/>??

  • 基本上屬性也和FieldType類似,他的屬性會覆蓋掉FieldType的同名屬性。

    ?

    ?

    CopyField(本段內(nèi)容直接從solr中文網(wǎng)copy而來):

    ? ? ??

    你可能想讓document的一些字段可以多次使用。solr 有一個字段復(fù)制機(jī)制,可以提交多個不同類型字段集中到一個字段。字段復(fù)制主要涉及兩個概念,source和destination,一個是要復(fù)制的字段,另一個是要復(fù)制到哪個字段,以下是個例子:
    1 <copyField source="cat" dest="text" maxChars="30000" />

    ?

    上例中,如果text字段有數(shù)據(jù)的話,cat字段的內(nèi)容將被添加到text字段中。maxChars 參數(shù),一個int類型參數(shù),用于限制復(fù)制的字符數(shù)。

    source和destination都支持通配符。以下是一個將所有以 _t 結(jié)尾的字段全部復(fù)制到text字段中。
    1 <copyField source="*_t" dest="text" maxChars="25000" />
    其實(shí)說的簡單一點(diǎn),比如現(xiàn)在你要查詢包涵"Java"的博客, 那么你肯定要查內(nèi)容,標(biāo)題是否包含Java,但是solr不能像SQL那樣,where tittle like '%Java%' ?or ?content like '%Java%'. ? 這個時候copyField就派上用場了, 定義一個新字段,將title和content 復(fù)制到這個新字段,索引的時候,直接從這個新字段查詢,這樣就達(dá)到目地了。 ?這便是copyField的典型應(yīng)用場景?。注意:如果dest由多個source構(gòu)成,就需要將其指定為multiValued。 在網(wǎng)上找了一個例子: [html]?view plaincopy
  • <schema?name="eshequn.post.db_post.0"?version="1.1"????
  • ????xmlns:xi="http://www.w3.org/2001/XInclude">????
  • ?????<fields>????
  • ????????<!--?for?title?-->????
  • ????????<field?name="t"?type="text"?indexed="true"?stored="false"?/>????
  • ????????<!--?for?abstract?-->????
  • ????????<field?name="a"?type="text"?indexed="true"?stored="false"?/>????
  • ????????<!--?for?title?and?abstract?-->????
  • ????????<field?name="ta"?type="text"?indexed="true"?stored="false"?multiValued="true"/>????
  • ????</fields>????
  • ????<copyField?source="t"?dest="ta"?/>????
  • ????<copyField?source="a"?dest="ta"?/>????
  • </schema>????


  • DynamicField: 動態(tài)字段(Dynamic fields)允許 solr 索引沒有在 schema 中明確定義的字段。這個在忘記定義一些字段時很有用。動態(tài)字段可以讓系統(tǒng)更靈活,通用性更強(qiáng)。 動態(tài)字段和常規(guī)字段類似,除了它名字中包含一個通配符外,在索引文檔時,一個字段如果在常規(guī)字段中沒有匹配時,將到動態(tài)字段中匹配。 假設(shè)schema中定義了一個叫*_i的動態(tài)動態(tài)字段,如果要索引一個叫 cost_i 的字段,但是 schema 中不存在 cost_i 的字段,這樣 cost_i ?將被索引到 *_i 字段中。 動態(tài)字段也是定義在 schema.xml 文件中,和其他字段一樣,它也有個名詞,字段類型,和屬性。
    1 <dynamicField name="*_i" type="sint" indexed="true" stored="true"/>

    建議在 schema.xml 定義一些基本的動態(tài)字段,以備擴(kuò)展之用。

    ?

    ?

    原文鏈接:http://blog.csdn.net/zl3450341/article/details/12849341

    轉(zhuǎn)載于:https://www.cnblogs.com/earendil/p/6627682.html

    總結(jié)

    以上是生活随笔為你收集整理的solr 的 field, copyfield ,dynamic field的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。