在Solr的同一文件同时多次更新(Multiple updates simultaneously o

2019-10-20 04:34发布

我有一个关于Solr的文档更新一个疑问。 例如,当两个请求更新Solr中的文档来的同时,如何Solr的工作?

  • 它随机取一个请求,并锁定写入下一个请求才能回来?

提前致谢

Answer 1:

还有如中提到的不同的锁定机制Lucene的锁定工厂文档 。 默认情况下,NativeFSLockFactory在哪个文件锁获得了针对被索引文件中。 使用不同的锁定机构的设置可以在solrconfig.xml中被改变

下面是从solconfig.xml片段

<!-- LockFactory 

     This option specifies which Lucene LockFactory implementation
     to use.

     single = SingleInstanceLockFactory - suggested for a
              read-only index or when there is no possibility of
              another process trying to modify the index.
     native = NativeFSLockFactory - uses OS native file locking.
              Do not use when multiple solr webapps in the same
              JVM are attempting to share a single index.
     simple = SimpleFSLockFactory  - uses a plain file for locking

     Defaults: 'native' is default for Solr3.6 and later, otherwise
               'simple' is the default

     More details on the nuances of each LockFactory...
     http://wiki.apache.org/lucene-java/AvailableLockFactories
-->
<lockType>${solr.lock.type:native}</lockType>


Answer 2:

你说的是物理锁或逻辑的版本控制? 对于逻辑的版本控制,Solr的4+支持使用版本字段乐观并发。

你可以阅读一下:

  1. 正式文件
  2. 详细书面记录


文章来源: Multiple updates simultaneously on same document in solr